在复杂的 React 应用程序中正确使用 Redux 存储
Correct usage of Redux store in a complex React app
看了文档,整理了一些小例子,但还是想不通如何在组件多的应用中使用Redux。如何为 reducer 和操作组织文件结构,我应该为每个组件创建一个 reducer,还是只为主要应用程序组件创建一个 reducer,我是否需要整个应用程序的商店初始状态?
例如我有一个应用程序(伪代码):
<App>
<Table data={someData}>
</App>
Table 组件看起来像:
<Table>
<SearchBar value={searchString}>
</Table>
<SearchBar/>
只是一个输入,其值会影响 <Table/>
中数据的显示
那么在这种情况下使用 Redux 的最佳实践是什么?
这在很大程度上取决于开发人员来构建源代码。就我而言,我通过将所有 reducer 放在一个文件中来开始小型项目。但是当我开始处理更大的项目时,我觉得为每个组件使用单独的 reducer 更容易维护和重用。所以每个组件都有自己的 reducer、actions、actionTypes、selectors、styles 文件。
你会有一个应用程序减速器,你可以在其中组合子减速器。 Redux 使用:https://redux.js.org/docs/api/combineReducers.html
为您处理此问题
以下是初始化应用减速器的方法:
这是应用减速器文件:
看了文档,整理了一些小例子,但还是想不通如何在组件多的应用中使用Redux。如何为 reducer 和操作组织文件结构,我应该为每个组件创建一个 reducer,还是只为主要应用程序组件创建一个 reducer,我是否需要整个应用程序的商店初始状态?
例如我有一个应用程序(伪代码):
<App>
<Table data={someData}>
</App>
Table 组件看起来像:
<Table>
<SearchBar value={searchString}>
</Table>
<SearchBar/>
只是一个输入,其值会影响 <Table/>
那么在这种情况下使用 Redux 的最佳实践是什么?
这在很大程度上取决于开发人员来构建源代码。就我而言,我通过将所有 reducer 放在一个文件中来开始小型项目。但是当我开始处理更大的项目时,我觉得为每个组件使用单独的 reducer 更容易维护和重用。所以每个组件都有自己的 reducer、actions、actionTypes、selectors、styles 文件。
你会有一个应用程序减速器,你可以在其中组合子减速器。 Redux 使用:https://redux.js.org/docs/api/combineReducers.html
为您处理此问题以下是初始化应用减速器的方法:
这是应用减速器文件: