在我的Redux存储中,我有多个切片,我想访问speciesSlice中settingsSlice的lang
状态。
下面是我的切片的代码示例:
const settingsSlice = createSlice({
name: 'settings',
initialState: { lang: 'en', theme: 'dark' },
reducers: {
...
},
});
const speciesSlice = createSlice({
name: 'species',
initialState: data[`vds-list-${HERE I WANT TO USE THE "lang" STATE OF THE SETTINGSSLICE}`],
reducers: {
...
},
});
到目前为止,我还没有找到一个解决办法,所以也许这只是不可能的?
我可以只使用一个切片来存储其中的所有状态,但我更希望将状态的不同部分分离到不同的切片中。
3条答案
按热度按时间cigdeys31#
根据定义,归约器只能访问它们所拥有的状态片段,所以,如果我有
{users: usersReducer, posts: postsReducer}
,usersReducer
根本不能访问posts
状态片。有关详细信息,请参见Redux常见问题解答条目“如何在Reducer之间共享状态?”。
vulvrdjw2#
我通过简单地导入redux存储对象并调用
getState()
方法来实现这一点。所以在
speciesSlice
reducer动作中你可以这样做:axzmvihb3#
如Redux常见问题解答条目“如何在两个reducer之间共享状态?"中所述,您可以使用redux-thunk来编写可以访问整个状态的reducer。
这类似于@Biskrem Muhammad的answer,但避免了使用Redux存储作为全局变量。