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

Joh*_*nyQ 16 javascript ecmascript-6 reactjs

我还在学习React并且无法掌握它的重要性PropTypes.任何人都可以提出他们的想法,定义你的好处是PropTypes什么?我已经在React文档中阅读了关于此的讨论,但是我无法理解PropTypes在类型不匹配时不要看到控制台错误/警告的优点.它在文档上说

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

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

  1. 在定义时,PropTypes您肯定会编写更多与粗体相反的语句.
  2. 另一个问题是,PropTypes仅适用于子组件,因为父组件通常不具有道具?
  3. 如果是这样,我们如何检查父组件的状态类型,是否可以StateTypes这么说?

Pra*_*avi 17

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

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

  • 验证传递给孩子的道具,并在传递错误道具时警告开发者,这可能会破坏您的应用.
  • 作为一个团队,当团队成员创建一个组件时,除非你看到,否则你将不知道如何处理它 PropTypes

PropTypes 不是强制性的.

[编辑]按顺序回答问题

  1. 是的,你将编写额外的代码.但是,如果你需要验证你的props,这是额外的代码,你不需要自己做.验证将React自行处理.
  2. 不完全是,组件ParentRoot组件之间存在差异.Parent组件可以是另一个组件,可以是另一个组件的子组件Parent.因此,将其称为Root组件,它将位于UI树的顶部.您可以说,使用此定义PropType仅适用于Parent和而Child不是Root组件.
  3. 您不需要检查stateType因为state是否在组件的范围内.但是,props从一个组件传递到另一个组件.因此,验证state组件没有意义,因为它不是跨组件共享的.即使它是共享的,也只能通过它完成props.

希望能帮助到你...