当您使用自定义组件时,例如
<MyComponent>Hello World</MyComponent>
无论您在标签之间写什么(在上面的示例中为Hello World),都将作为
children属性传递给组件。
所以当像
const link = ({ active, children, onClick }) => {
你是解构的道具和只得到
active,
children并
onClick从道具传递到组件
考虑例如,您将
link组件称为
<link active="true" onClick={someFunc} style={{color: 'orange'}}>Hello</link>
然后,在所有道具中,即
active, onClick, style, children,您将只
active,onClick,children在组件中访问。
对于第二个问题:
这是做什么的?
子代:PropTypes.node.isRequired,
因此,这
PropTypes是对传递给组件的道具执行typeCheck的方法。它是从
react-proptypes包中导入的。
所以
children: PropTypes.node.isRequired
使道具
children成为必需。因此,如果您将组件渲染为
<link />
它不会通过类型检查,因此您需要做
<link>Text</link>
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)