shouldComponentUpdate专门用于确定组件是否应该完全更新。做类似的事情:
if (nextState.counter == this.state.counter && nextProps.foo == this.Props.foo) { return false;}
componentWillReceiveProps用于响应 外部
(道具)更改。
componentWillReceiveState正如文档中指出的那样,没有等效项。您的组件(并且只有您的组件)通常通过以下一个或多个事件来触发自己的状态更改:
- 初始渲染
getInitialState
- 更新了道具
componentWillReceiveProps
<input>
字段等中的用户交互,例如onChangeInput()
组件中的自定义功能。- 不断变化:响应来自侦听器的存储更改,通常在调用的自定义函数中进行
getStateFromStores()
,状态会更新。
我想 在组件内部创建一个函数来创建状态更改,然后在状态更新之前先干预同一组件内部的另一个函数是没有意义的。
在您的情况下,您可以将逻辑(以确定状态是否需要更新)移至
getStateFromStores()处理商店更新的功能。
或者,您可以简单地保持其状态,并更改渲染功能,以便在counter> 4时以不同的方式渲染。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)