React Js - Flux 中的状态管理
React Js - State Management in Flux
我们正在使用 FLUX 架构在 React JS 中开发一个时间跟踪客户端,并且想知道整个应用程序状态应该在一个单一的状态对象中。
- 以便父组件可以在发生变化时获取状态并通过props传递给子组件
或者
- 每个组件都应该有自己的状态对象,这样当从商店触发状态更改时,它们可以单独请求它们的状态和
setState
。
您应该尽量将状态推到层次结构的最上层。因此,您应该赞成让父组件是有状态的,并将数据传递给无状态(纯)组件。这使得应用程序更容易理解,因为大多数状态都在一个地方。有状态的组件不一定只有一个,但有状态的组件尽量往上
但请注意,应用程序状态和 UI 状态之间存在差异。 UI 状态类似于 "this search input box currently contains the value x" 或 "the user has toggled a button to only see data from today"。 UI 状态应该存在于需要和管理该状态的组件中。
应用状态就是你的应用的数据,需要持久化的数据。你绝对应该努力集中管理它。
同时检查 Flux Comparison 存储库 - https://github.com/voronianski/flux-comparison
它包含有用的 Flux 模式,例如有状态容器和纯组件。
我们正在使用 FLUX 架构在 React JS 中开发一个时间跟踪客户端,并且想知道整个应用程序状态应该在一个单一的状态对象中。
- 以便父组件可以在发生变化时获取状态并通过props传递给子组件
或者
- 每个组件都应该有自己的状态对象,这样当从商店触发状态更改时,它们可以单独请求它们的状态和
setState
。
您应该尽量将状态推到层次结构的最上层。因此,您应该赞成让父组件是有状态的,并将数据传递给无状态(纯)组件。这使得应用程序更容易理解,因为大多数状态都在一个地方。有状态的组件不一定只有一个,但有状态的组件尽量往上
但请注意,应用程序状态和 UI 状态之间存在差异。 UI 状态类似于 "this search input box currently contains the value x" 或 "the user has toggled a button to only see data from today"。 UI 状态应该存在于需要和管理该状态的组件中。
应用状态就是你的应用的数据,需要持久化的数据。你绝对应该努力集中管理它。
同时检查 Flux Comparison 存储库 - https://github.com/voronianski/flux-comparison
它包含有用的 Flux 模式,例如有状态容器和纯组件。