【发布时间】:2014-10-16 18:07:02
【问题描述】:
如果通量存储是维护数据状态的单例,为什么组件在访问存储时使用 setState 而不是 setProps?这不只是意味着我开始将应用程序状态保存在两个(或更多)地方吗?
Flux / React 文档和示例似乎都将 setState 视为首选解决方案,但我与工作中的几位同事进行了一次有趣的对话,想知道是否有其他人遇到过这个
编辑: 你可以在这个网址中看到我在说什么: https://github.com/facebook/flux/blob/master/examples/flux-chat/js/components/ThreadSection.react.js
注意 ThreadSection 是一个子组件,它直接从存储中获取数据并将其用作状态。
如果您遵循 React “方式”,我会期望状态由商店管理 - 而不是子组件。
我们想到的解决方案是获取顶层组件中的所有存储(作为道具),并根据需要将它们传递给子组件。但这很快就会变得相当丑陋。
我们这样做是因为 setProps 不适用于子组件
【问题讨论】:
-
你能粘贴一些你提到的代码吗?
标签: reactjs reactjs-flux refluxjs