Flux:如何为可变数量的React组件创建store

Flux: How to make Stores for a Variable Number of React Components?

本文关键字:React 组件 store 创建 Flux      更新时间:2023-09-26

在flux教程中,它说"应用程序状态仅在存储中维护"。

简短版本:我的应用程序中有一个可变数量的组件,每个组件维护状态。我要怎么使用这里的商店?似乎每个组件都需要一个存储

长版:我想创建一个节点数量可变的文本元素树(本质上是一个让我创建任意树并在HTML中可视化的应用程序)。

我目前的架构在React中有一个Tree元素,保持状态:

{ children: [], // children are trees.
parent: someParent }

然而,考虑到我的树中的每个子树都有状态,似乎每个子树都需要一个存储!构建这段代码的正确方法是什么?

不,只保留一个组件的状态。所有其他组件都应该以props的形式获取它们的数据。

另外,保持状态的组件不应该知道这个状态,但是你应该使用一个存储来保持它。通常,这些知道状态的组件类型被称为"容器组件"。那些不知道状态并通过props接收数据的组件被称为"表示组件"(或"哑组件")。阅读更多:http://redux.js.org/docs/basics/UsageWithReact.html

使用Redux架构

保持你的状态全局,

使用容器组件和reducer来传递props给你的组件。

http://redux.js.org/docs/api/bindActionCreators.html