React是围绕不变性而设计的,所以对我来说似乎有点奇怪,它从根本上取决于Component的两个可变属性。如果他们将其实现为render(props, state)
,则会减少在其他函数中修改状态的诱惑,并且更加干净地适应render
纯函数操作的概念。
我觉得如果我理解了设计决策,我就能更有效地使用React。
答案 0 :(得分:1)
props
和state
将被视为不可变。 props are read-only以及组件状态的任何更新都应使用setState
完成,以避免您的更改被覆盖。
render
方法不必具有需要处理持久/变化状态的纯函数的概念。
如果您希望使React组件呈现/哑/纯,则可以查看将组件抽象为有状态和无状态(功能)组件。
您可以构建构建纯功能组件的应用程序,但是:
您必须找到一种方法来管理状态更改以传递到您的功能组件
您的应用程序非常简单,没有状态或状态随复杂逻辑而变化。