【发布时间】:2021-05-12 07:44:37
【问题描述】:
我正在构建一个应用程序,其中“切片缩减器”需要访问另一个“切片缩减器”的状态。 redux 文档讨论了使用自定义组合减速器以将根状态传递给减速器 - Beyond combineReducers
到目前为止,我的根减速器有这个:
import cats from '../slices/cats'
import dogs from '../slices/dogs'
import status from '../slices/status'
function combinedReducer(state = {}, action) {
return {
status: status(state.status, action),
dogs: dogs(state.dogs, action),
cats: cats(state.cats, action, state),
};
}
export default configureStore({ reducer: combinedReducer });
我似乎无法获得我的猫减速器的根状态 - 作为上面的第三个参数传入。
const assetsSlice = createSlice({
name: 'cats',
initialState,
reducers: {
setFetched: (state, { payload }, root) => {
// root is undefined
state.type = payload + root.dogs.legs;
},
},
});
这应该可行,不是吗?
如果我使用不是由 createSlice 创建的原版减速器,我可以获得根状态
export default (state = initialState, action, root) => {
// root - { status: {}, dogs: {}, cats: {} }
};
【问题讨论】:
标签: redux redux-toolkit