为什么React.js没有stateTypes?

时间:2015-07-04 11:41:32

标签: reactjs

React组件在概念上将其数据拆分为 props ,从其父级传递的不可变数据和 state ,本地维护的可变数据。我喜欢React的一件事是它支持propTypes形式的有限类型检查。为什么没有类似的状态概念(例如stateTypes)?

1 个答案:

答案 0 :(得分:8)

使用所谓的 stateTypes 不会给你带来太多好处。

正如官方的React网站所说的propTypes:

  

随着您的应用程序的增长,确保正确使用您的组件会很有帮助。

这里要记住的重要一点是,propTypes会检查您是否将正确的数据传递给渲染此组件的地方的当前元素 。您可以根据需要重复使用该组件,因此很容易发生忘记将适当的属性传递给它的情况。

因此,检查从“其他源”传递的数据比检查您在编写组件本身时使用的数据更重要,更有益。如果您可以使用其他地方的信息来处理,那么您将不得不使用它。

无论如何,它只是一个更容易开发的实用工具,必须在生产环境中关闭。

结论:也许这个问题有点基于意见。我相信,如果你在构造函数(ES2015)或getInitialState中声明你的状态,并且在完全相同的信息之下只有几行,那么使用 stateTypes 将无济于事,只能以 stateTypes的形式