PropTypes在React中的重要性是什么?

loading...


8

我'm still learning React and can'吨 grab 了 PropTypes 的重要性 . 任何人都可以提出他们的想法定义你的 PropTypes 有什么好处?我没有把握 PropTypes 除了在类型不匹配时看到控制台错误/警告的优点 . 它在documentation上说

在设计接口时,将通用设计元素(按钮,表单域,布局组件等)分解为具有定义良好的接口的可重用组件 . 这样,下次需要构建一些UI时,可以编写更少的代码 . 这意味着更快的开发时间,更少的错误以及更少的网络字节数 .

除了好处之外,我还有一些其他问题:

  • 在定义 PropTypes 时,您肯定会编写更多与粗体相反的语句 .

  • 另一个问题是, PropTypes 仅适用于子组件,因为父组件通常没有道具吗?

  • 如果是这样,我们如何检查父组件的状态类型,是否有 StateTypes 可以这么说?

loading...

2回答

  • 0
    • PropTypes 允许您验证您的道具,否则这是不可能的,因为JavaScript是松散类型的语言 .

    • 您可以在任何需要的地方使用 props ,包括父母 . 或者根本没有它们 . 通常 props 是将父母的一些 Value 观或回调传递给子女和孙子女的唯一方法(实际上这是推荐的方式) .

    • 没有StateTypes .


  • 11

    React围绕组件的概念 . 整个网页应该分解为组件,每个组件将通过 props 相互交互 .

    所以,这些都是使用 PropTypes 的所有优点

    • 验证传递给孩子的道具,并在传递错误道具时警告开发者,这可能会破坏您的应用 .

    • 作为一个团队,当一个团队成员创建一个组件时,除非你看到 PropTypes ,否则你将不知道如何处理它 .

    PropTypes 不是强制性的 .

    [EDIT] Answers for the questions in order

    • 是的,你将编写额外的代码 . 但是,如果您需要验证 props ,这是额外的代码,您不需要自己完成 . 验证将由 React 本身处理 .

    • 并非完全正确, ParentRoot 组件之间存在差异 . Parent 组件可以是另一个 Parent 的孩子,可以是另一个孩子的孩子 . 因此,将其称为 Root 组件,它将位于UI树的顶部 . 使用此定义,您可以说, PropType 仅适用于 ParentChild ,而不适用于 Root 组件 .

    • 您不需要检查 stateType ,因为 state 在组件的范围内 . 但是, props 从一个组件传递到另一个组件 . 因此,验证组件的 state 是没有意义的,因为它不是跨组件共享的 . 即使它是共享的,也只能通过 props 来完成 .

    希望能帮助到你...

评论

暂时没有评论!