如何在Redux-Toolkit中避免重复的reducer

时间:2020-05-30 19:25:49

标签: reactjs redux redux-toolkit

  1. 我避免了registerSuccess和loginSuccess,registerFailure和loginFailure重复的代码。
  2. 我分别需要不同的类型
    name: 'auth',
    initialState,
    reducers: {
        loginSuccess: (state, action) => {
            localStorage.setItem('token', action.payload.token);
            state.isAuthenticated = true;
            state.isLoading = false;
        },
        loginFailure: (state, action) => {
            localStorage.removeItem('token');
            state.isLoading = false;
            state.token = null;
            state.user = null;
            state.isAuthenticated = false;
            state.error = action.error;
        },
        registerSuccess: (state, action) => {
            localStorage.setItem('token', action.payload.token);
            state.isAuthenticated = true;
            state.isLoading = false;
        },
        registerFailure: (state, action) => {
            localStorage.removeItem('token');
            state.isLoading = false;
            state.token = null;
            state.user = null;
            state.isAuthenticated = false;
            state.error = action.error;
        }
    }
});```

0 个答案:

没有答案