3

Flux 文档指出状态应该存储在 Stores 中。然后应该将与实体相关的加载、保存、错误消息存储在 Stores 中。由于 View 将从 Store 获取其初始状态,因此只有知道其加载/保存是否来自 Store 的方法。

此外,当编辑表单时,用户决定取消编辑,因此这些中间表单值应该存储在 Views 状态中,而不是发送到 Store?

4

2 回答 2

2

我以一种非常实用的方式使用 React,因为我的所有数据都作为全局 JSON 对象存储在 React 之外,并且这些数据被注入到顶级组件中。因此,React 对我来说只是一个聪明的模板引擎:将 JSON 转换为 Virtual DOM,然后将 Virtual DOM 应用到真实 DOM。渲染总是从主要组件触发,并且由于不变性而得到优化。在这里阅读更多

我不同意 Rygu,错误是状态的一部分。商店可能类似于数据库,但这意味着什么?商店应该只包含一些不是“临时”或可能被认为没有意义的东西?

对我来说,如果你想使用 React 进行函数式编程,那么任何显示为 DOM 的东西都应该首先作为组件的 props 传递,包括错误。如果您不这样做,那么您将依赖副作用来管理 DOM,并且随着时间的推移,对所有这些副作用进行推理将变得更加困难。

于 2014-09-22T13:09:08.543 回答
0

您的输入字段应该有自己的记忆。这意味着 Store 状态(事实来源)与组件中发生的任何更改都是不可改变的。通过操作,这些更改将传达给商店。无论它们成为新的事实还是因错误而失败,Store 状态都将再次不变地复制到组件输入状态。错误,我也会转移到组件,因为它们适用于输入状态,而不是存储状态。

商店就像数据库,您也很少在其中放置任何临时记录或错误。除非您正在编写一个跟踪输入历史记录的文本编辑器......

于 2014-09-19T19:22:03.933 回答