我还在学习React并且无法理解PropTypes
的重要性。任何人都可以认为定义PropTypes
有什么好处?我已经在React文档中阅读了有关此内容的讨论,但我无法理解保持PropTypes
除了在类型不匹配时看到控制台错误/警告的优点。它在documentation
设计界面时,要分解常见的设计元素 (按钮,表单域,布局组件等)可重用 具有明确定义的接口的组件。 这样,下次你 需要构建一些UI,你可以编写更少的代码。这意味着更快 开发时间,更少的错误和更少的字节数。
除了好处之外,我还有其他一些问题:
PropTypes
时,您肯定会编写更多与粗体语句相矛盾的代码。PropTypes
仅适用于子组件,因为父组件通常没有道具吗?StateTypes
?答案 0 :(得分:15)
React围绕组件的概念。整个网页应该分解为组件,每个组件将通过props
相互交互。
因此,这些都是使用PropTypes
PropTypes
PropTypes
不是强制性的。
[编辑]按顺序回答问题
props
,这是额外的代码,您不需要自己完成。验证将由React
本身处理。Parent
和Root
组件之间存在差异。 Parent
组件可以是另一个Parent
的子组件,可以是另一个组件的子组件。因此,将其称为Root
组件,它将位于UI树的顶部。根据此定义,您可以说PropType
仅适用于Parent
和Child
,而不适用于Root
组件。stateType
,因为state
在组件的范围内。但是,props
从一个组件传递到另一个组件。因此,验证组件的state
是没有意义的,因为它不是跨组件共享的。即使它是共享的,也只能通过props
完成。希望它有所帮助...
答案 1 :(得分:0)
PropTypes
允许您验证您的道具,否则这是不可能的,因为JavaScript是松散类型的语言。
您可以在任何需要的地方props
,包括父母。或者根本没有它们。通常props
是将一些值或回调从父母传递给子孙的唯一方法(实际上是建议的方式)。
没有StateTypes。