场景:我有一个反应应用程序,它的状态在通量存储(异步加载)中,将数据向下传递到根组件,根组件将数据传递给它的子组件等等。
现在:文本输入字段,嵌套在节点树的某个深处,其初始值在 getInitialState 中从一个 prop 完成(该 prop 已向下传递),并且在 onChange 事件上其状态设置为类型值。到目前为止书的例子。现在让我们“提交”表单,触发动作,ajax 调用,返回的数据发生变化,传递到向根组件发出事件的存储,节点树再次重新渲染,但当然 getInitialState 没有被触发再次,该字段仍然具有最后输入的值。我不认为我想在每次击键时启动整个 action-store-root-children-reRender 循环,对吗?
问题:如何使输入的状态从传递的道具(商店之一)中保持新鲜
想法:嗯,我实际上可以通过在 ROOT 的 componentWillUpdate() 中设置一个商店“标志”然后在 componentDidUpdate() 中设置它来判断我何时从 ROOT 开始重新渲染 - 然后所有子组件都可以知道它是否是 ROOT 意图重新渲染还是只是父非存储发起的更改。