反应Js - 流量中的状态管理

时间:2015-04-17 08:05:47

标签: javascript reactjs reactjs-flux flux

我们正在使用FLUX架构在React JS中开发时间跟踪客户端,并且想知道整个应用程序状态应该在单个状态对象中。

  • 以便父组件可以在发生更改时获取状态并通过props将其传递给子组件

或者

  • 每个组件都应该有自己的状态对象,因此当从商店触发状态更改时,他们可以单独请求其状态和setState

2 个答案:

答案 0 :(得分:5)

您应该尝试尽可能地将状态推到层次结构中。因此,您应该支持让父组件成为有状态,并将数据传递给无状态(纯)组件。这使得理解应用程序变得更容易,因为大多数州都在一个地方。没有必要只有一个有状态组件,但有状态组件应该尽可能远。

但请注意,应用程序状态和UI状态之间存在差异。 UI状态类似于"此搜索输入框当前包含值x"或者"用户切换按钮只能看到今天的数据"。 UI状态应该存在于需要和管理该状态的组件中。

应用程序状态是应用程序的数据,需要持久保存的数据。你应该绝对努力集中管理。

答案 1 :(得分:2)

同时检查Flux Comparison repo - https://github.com/voronianski/flux-comparison

它包含有用的Flux模式,如有状态容器和纯组件。