为什么 React.js 没有 stateTypes?

IT技术 reactjs
2021-05-15 04:40:49

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

1个回答

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

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

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

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

因此,检查从“其他来源”传递过来的数据比检查您在编写组件本身时刚刚使用的数据更重要也更有益。如果您可以使用来自其他地方的状态的信息,而您不能使用,那将是值得使用的。

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

结论:也许这个问题有点基于意见。我相信,如果您在构造函数(ES2015)或 getInitialState 中声明您的状态,并且仅以stateTypes的形式在完全相同的信息下方仅几行,那么使用stateTypes不会有太大帮助