为什么ReactJS组件必须像纯函数一样?

nom*_*dus 6 pure-function reactjs

文档说All React组件必须像它们的道具一样充当纯函数. https://facebook.github.io/react/docs/components-and-props.html,但没有解释其背后的真正原因,为什么呢?

Die*_*ria 1

我想说是因为跟踪组件状态的变化。如果它不是纯粹的,那么每次执行时都会产生副作用。这样,就很难知道发生了什么变化,也很难知道如何应对这些变化。

换句话说,纯函数具有相同的输出和相同的输入。使管理属性和跟踪更改变得更加容易,从而以更简单且可预测的方式对更改做出反应。