我应该使用ProptTypes作为道具我通过React组件吗?

时间:2018-04-01 02:21:51

标签: javascript reactjs

我是否应该使用PropTypes作为道具我将React组件传递给子组件,但实际上不在组件本身内使用?

在以下示例中,对于从Component2收到的道具,PropTypes会有Component1,即使Component3是使用道具的组件。

<Component1 someValue=someValue">
  <Component2 {...props}>
    <Component3>
      <div>Hello World! {someValue}</div>
    </Component3>
  </Component2>
</Component1>

2 个答案:

答案 0 :(得分:0)

你实际上可以写这样的东西。它使代码更具可读性,并立即告诉其他开发人员您的意图

MyComponent.propTypes = {
 someValue: PropTypes.string,
 ...Component2.propTypes
}

答案 1 :(得分:0)

在我看来,它足以声明父组件正在使用的道具的propTypes,如果只传递其余的道具,那么它的子组件负责验证它们。这样你就可以避免重复自己并仍然得到错误验证。