我正在使用Redux进行状态管理.
如何将商店重置为初始状态?
例如,假设我有两个用户帐户(u1和u2).
想象一下以下一系列事件:
用户u1登录应用程序并执行某些操作,因此我们会在商店中缓存一些数据.
用户u1注销.
用户u2无需刷新浏览器即可登录应用程序.
此时,缓存的数据将与之关联u1,我想将其清理干净.
当第一个用户注销时,如何将Redux存储重置为其初始状态?
我需要将当前状态重置为初始状态。但我所有的尝试都没有成功。我如何使用 redux-toolkit 做到这一点?
const showOnReviewSlice = createSlice({
name: 'showOnReview',
initialState: {
returned: [],
},
reducers: {
reset(state) {
//here I need to reset state of current slice
},
},
});
Run Code Online (Sandbox Code Playgroud) 我有一个authSlice
const authSlice = createSlice({
name: 'authStore',
initialState,
reducers: {
logout(state = initialState) {
return { ...state, isAuthenticated: false };
},
},
extraReducers: (builder) => {
builder.addCase(login.fulfilled, (state, { payload }) => {
state.isAuthenticated = true;
localStorage.setItem('userId', payload.userId);
});
builder.addCase(login.pending, (state) => {
state.isLoading = true;
});
builder.addCase(login.rejected, (state, { payload, error }) => {
if (payload) {
state.loginError = payload;
state.isLoading = false;
} else {
state.loginError = error;
}
});
},
});
Run Code Online (Sandbox Code Playgroud)
和一个userSlice:
const userSlice …Run Code Online (Sandbox Code Playgroud)