PropTypes在React中的重要性是什么?
我'm still learning React and can'吨 grab 了 PropTypes
的重要性 . 任何人都可以提出他们的想法定义你的 PropTypes
有什么好处?我没有把握 PropTypes
除了在类型不匹配时看到控制台错误/警告的优点 . 它在documentation上说
在设计接口时,将通用设计元素(按钮,表单域,布局组件等)分解为具有定义良好的接口的可重用组件 . 这样,下次需要构建一些UI时,可以编写更少的代码 . 这意味着更快的开发时间,更少的错误以及更少的网络字节数 .
除了好处之外,我还有一些其他问题:
-
在定义
PropTypes
时,您肯定会编写更多与粗体相反的语句 . -
另一个问题是,
PropTypes
仅适用于子组件,因为父组件通常没有道具吗? -
如果是这样,我们如何检查父组件的状态类型,是否有
StateTypes
可以这么说?
回答(2)
React围绕组件的概念 . 整个网页应该分解为组件,每个组件将通过 props
相互交互 .
所以,这些都是使用 PropTypes
的所有优点
-
验证传递给孩子的道具,并在传递错误道具时警告开发者,这可能会破坏您的应用 .
-
作为一个团队,当一个团队成员创建一个组件时,除非你看到
PropTypes
,否则你将不知道如何处理它 .
PropTypes
不是强制性的 .
[EDIT] Answers for the questions in order
-
是的,你将编写额外的代码 . 但是,如果您需要验证
props
,这是额外的代码,您不需要自己完成 . 验证将由React
本身处理 . -
并非完全正确,
Parent
和Root
组件之间存在差异 .Parent
组件可以是另一个Parent
的孩子,可以是另一个孩子的孩子 . 因此,将其称为Root
组件,它将位于UI树的顶部 . 使用此定义,您可以说,PropType
仅适用于Parent
和Child
,而不适用于Root
组件 . -
您不需要检查
stateType
,因为state
在组件的范围内 . 但是,props
从一个组件传递到另一个组件 . 因此,验证组件的state
是没有意义的,因为它不是跨组件共享的 . 即使它是共享的,也只能通过props
来完成 .
希望能帮助到你...
2 years ago
PropTypes
允许您验证您的道具,否则这是不可能的,因为JavaScript是松散类型的语言 .您可以在任何需要的地方使用
props
,包括父母 . 或者根本没有它们 . 通常props
是将父母的一些 Value 观或回调传递给子女和孙子女的唯一方法(实际上这是推荐的方式) .没有StateTypes .