我是ReactJS的新手,我试图弄清楚如何存储和操作全局状态。例如,我正在编写一个具有某些全局状态的编辑器应用程序:选定的颜色/背景,活动工具,当前选择等。
我正在考虑使用根接口组件来存储此信息,并且可以使用属性来明确传递状态。我想孩子组件更改全局状态的惯用方式是调用从父组件收到的回调-就我个人而言,这有点烦人。
相反,我是在子级上触发自定义事件,并在父级上设置侦听器。到目前为止,它确实运行良好,但我查看了lot of sample code,却从未见过有人使用此模式。
我应该考虑任何实际后果吗?
Flux非常适合操纵全局状态,因为商店可以全局访问。众所周知,全局变量是不好的,但是您与商店交互的方式是通过操作。动作使状态可预测和局部化。因此,即使状态存储本身是全局的,动作也会使状态交互非常local。在工作中,我们倾向于通过动作进行读写,因此每个状态更改都是一个“事件”,可导致容易编程的行为。
我真的不会将Flux与Angular进行比较,因为它们的原理和流程完全不同。建议您尝试Reflux。