【问题标题】:Maintining state on components in a Flux environment在 Flux 环境中维护组件的状态
【发布时间】:2016-01-04 04:58:32
【问题描述】:

我们正在使用 React 和 Flux(通过 Alt 实现)。

状态在 store 上维护,并作为 props 传递给视图组件,这对数据非常有用。

然而,我发现自己在 store 中维护诸如 isOnHover 和类似的 UI 状态之类的状态,这似乎很麻烦(为每个 UI 状态创建操作和存储处理程序)。

直接在组件本身上维护 UI 状态是否被认为是一种不好的做法,如果是,为什么?

谢谢。

【问题讨论】:

  • 这些天我尝试遵循一条规则(不仅限于此,但总的来说它工作正常):只有数据进入存储后才能在服务器上呈现。
  • @zerkms 这意味着您使用视图组件的状态来维护其他数据,例如 UI 状态?
  • 是的。根据我的分类,“isOnHover”之类的东西属于组件状态。
  • 我发现为影响多个组件的应用程序状态创建一个 app.store 很有用。我也将它用于 app.config 数据。

标签: reactjs reactjs-flux flux alt


【解决方案1】:

在我看来,维护商店在相应商店中提供的数据以外的任何内容都是不好的做法。每条数据一个存储。组件状态应保留在组件中。

像 isOnHover 这样的设置值应该在组件中存储和更新,并使用 getInitialState 进行初始设置。

在跨项目使用组件方面考虑这样的事情很好,您希望能够基本上即插即用,而每个组件部分的麻烦和代码混乱最少。

【讨论】:

  • "维护存储在相应存储中提供的数据以外的任何内容都是不好的做法" --- "设置像 isOnHover 这样的值应该在组件中存储和更新,并且最初使用 getInitialState 设置。 " --- 这两种说法是有争议的。您可以将它们存储在商店或组件状态中。
猜你喜欢
  • 2011-05-28
  • 2021-07-21
  • 2021-02-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-04-26
  • 2016-07-14
  • 1970-01-01
相关资源
最近更新 更多