Javascript 使用React中的属性可以将哪些不同类型的道具从一个组件发送到另一个组件?

Javascript 使用React中的属性可以将哪些不同类型的道具从一个组件发送到另一个组件?,javascript,reactjs,properties,react-props,react-proptypes,Javascript,Reactjs,Properties,React Props,React Proptypes,我已经使用React一年了。我曾经体验过从一个组件到另一个组件发送以下几种类型的道具 我有组件A和B。这里组件A是B的父级。我从A向B发送一些道具,如字符串、数字、布尔值、数组、对象和函数 组件A: class A extends Component { render(){ return( <div> <B string="String Prop" number={123} Boolean={true

我已经使用React一年了。我曾经体验过从一个组件到另一个组件发送以下几种类型的道具

我有组件A和B。这里组件A是B的父级。我从A向B发送一些道具,如字符串、数字、布尔值、数组、对象和函数

组件A:

class A extends Component {
   render(){
       return(
            <div>
                 <B string="String Prop" number={123} Boolean={true} array=[] Object={} function={this.function} />
            </div>
       );
   }
}
A类扩展组件{
render(){
返回(
);
}
}

我的问题是,除了我提到的以外,还有其他类型的属性可以发送到组件吗?

我不确定您是否以一种让人有点难以理解的方式构造了这个问题,但是使用React,您可以通过道具发送任何复杂的对象

道具类型只是作为一种方式,用于强烈键入您希望传递的内容

查看文档以查看React的所有可接受道具类型:

请特别注意,您可以创建自己的自定义验证器,甚至可以将其设置为“any”,这意味着只要它存在,它就不关心类型是什么:

// A value of any data type
  requiredAny: PropTypes.any.isRequired,

  // You can also specify a custom validator. It should return an Error
  // object if the validation fails. Don't `console.warn` or throw, as this
  // won't work inside `oneOfType`.
  customProp: function(props, propName, componentName) {
    if (!/matchme/.test(props[propName])) {
      return new Error(
        'Invalid prop `' + propName + '` supplied to' +
        ' `' + componentName + '`. Validation failed.'
      );
    }
  },

您也可以将某些组件作为道具传递,如下所示:

   import Sample from './Sample'
    class A extends Component {
   render(){
      const propComponent = <Sample />
       return(
          <B component={propComponent} />
       );
     }
  }
import Sample from./Sample'
类扩展组件{
render(){
常量属性组件=
返回(
);
}
}
您也可以通过将其传递给子对象来执行相同的操作:

import Sample from './Sample'
class A extends Component {
   render(){
       return(
          <B>
          <Sample/>
          </B>
       );
     }
  }
import Sample from./Sample'
类扩展组件{
render(){
返回(
);
}
}

可以传递给函数的任何参数都可以传递给react组件


如果您询问每个道具的名称(类型),那么您可以查看列出大部分(如果不是全部)道具的列表。

快速阅读,应该回答您的问题-感谢您的回答。我的问题是将不同类型的属性向下发送到子组件,比如道具可以是字符串、数字、对象、数组、函数,等等。如果你看一下我问题中给出的代码,你会更好地理解。好的,你能确认作为道具发送给B组件的组件的道具类型吗?我的意思是这里的propComponent->const propComponent=是,根据文档,它应该是节点