【发布时间】:2018-05-03 05:04:29
【问题描述】:
我想知道是否可以在 store/state 中存储一个配置对象以及我的 React/Redux 应用程序需要的其他几个对象?这些是所有组件都需要访问的通用对象。
我在想它们可以在商店创建时添加到初始状态,这样所有组件都可以访问这些对象。
谢谢
【问题讨论】:
我想知道是否可以在 store/state 中存储一个配置对象以及我的 React/Redux 应用程序需要的其他几个对象?这些是所有组件都需要访问的通用对象。
我在想它们可以在商店创建时添加到初始状态,这样所有组件都可以访问这些对象。
谢谢
【问题讨论】:
这确实是一个见仁见智的问题,但 redux 存储是存储您需要全局访问的动态内容的好地方,然后您可以在每个组件中需要时将相关部分映射到 props。
【讨论】:
我个人认为 redux 存储是保存配置的一个非常有用的位置,因为它在我通常需要它的所有地方(组件、thunk、sagas 等)都很容易获得。
如果您使用combineReducers,如果您在initialState 中有任何没有匹配reducer 的键,则会收到警告。
一个简单的解决方法是创建一个reducer,其唯一目的是在状态中提供配置:
export default (state = { ...configuration }) => state
这可以像平常一样与所有其他减速器结合使用。
注意:我将configuration 对象传播到state 参数中的原因是为了保证它在商店中是不可变的。如果您更确信 configuration 对象不会在您的应用中发生变异,则可以将其简化为:
export default () => configuration
【讨论】: