查看 Facebook 的 Flux TodoMVC 示例 ( https://github.com/facebook/flux/tree/master/examples/flux-todomvc/ ) 让我想知道这种方法如何扩展。
在示例中,商店在新条目的模糊/输入按键时更新,但如果我们想在按键时更新现有条目怎么办?即,您在输入中键入一些内容,并且该内容会保存到存储中。
商店的内容(待办事项列表)被设置为最高级别的状态,因为整个应用程序需要它,每当商店更改时都会重新设置。
这是如何扩展的?检查每个组件是否需要重新渲染似乎效率很低,而很可能什么都没有做(您只是编辑文本,而该项目是唯一需要更新的内容)。
这种方法是否可以用于真正的应用程序,或者是否需要记住一些优化才能有效地进行这种扩展?
最佳答案
每个组件都有 shouldComponentUpdate
方法,该方法将运行以确定组件在收到新 Prop 时是否确实应该更新。默认情况下,这仅返回 true。
如果您在组件上很好地实现了该方法,那么您布置的架构将非常高效,并且可以随着应用程序的增长而很好地扩展。
另请参阅:PureRenderMixin https://facebook.github.io/react/docs/pure-render-mixin.html
关于javascript - ReactJS:如何优化自上而下的渲染流程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30791293/