Flux:中间错误应该存储在哪里?

时间:2014-09-18 06:37:32

标签: reactjs reactjs-flux

Flux文档说明状态应存储在商店中。然后,应该将与实体相关的加载,保存和错误消息存储在商店中。由于View将从Store获取其初始状态,因此只能知道其加载/保存是否来自商店。

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

2 个答案:

答案 0 :(得分:1)

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

我不同意Rygu,错误是该州的一部分。商店可能与数据库相当,但这意味着什么?那些商店应该只包含一些不是“暂时的”或者可能被认为毫无意义的东西?

对我来说,如果你想用React包含函数式编程,那么任何显示为DOM的东西应该首先作为组件的道具传递,包括错误。如果你不这样做,那么你依靠副作用来管理DOM,并且随着时间的推移,更难以推断所有这些副作用。

答案 1 :(得分:0)

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

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

相关问题