如何使用 redux 工具包在 React 中将由多个切片组成的存储状态替换为其他新状态?
您可以使用extraReducers将整个存储恢复到其初始状态:是否可以使用相同的机制将存储状态更改为初始状态以外的其他状态?
例如,你会有这样的东西:
const aSlice = createSlice({
name: 'a',
initialState: {a: 1},
reducers: {
someReducer(state, action) {...}
}
})
const bSlice = createSlice({
name: 'b',
initialState: {b: 'foo'},
reducers: {}
})
const store = configureStore({
reducer: {
aReducer: aSlice.reducer,
bReducer: bSlice.reducer,
}
});
export type RootState = ReturnType<typeof store.getState>
Run Code Online (Sandbox Code Playgroud)
在 React 组件中,您可以使用以下方法更新状态:
const dispatch = useDispatch();
dispatch(someReducer({...}));
Run Code Online (Sandbox Code Playgroud)
如何用这样的内容替换整个商店的状态:
{
"aReducer": {"a": 2},
"bReducer": {"b": "bar"},
}
Run Code Online (Sandbox Code Playgroud)