【发布时间】:2021-12-11 09:30:49
【问题描述】:
我对 redux 和 reduxjs/toolkit 还很陌生,在成功调用 api 后我一直在更新状态。我正在关注这里的文档 -> https://redux-toolkit.js.org/api/createAsyncThunk
import { createSlice } from '@reduxjs/toolkit';
import { loginUser } from './actions';
const userSlice = createSlice({
name: 'user',
initialState: { id: 0, name: '', email: '' },
reducers: {},
extraReducers: (builder) => {
builder.addCase(loginUser.fulfilled, (state, action) => {
// trying to overwrite the state directly like this doesn't work
state = { ...action.payload }
// updating each individual part of the state object does work, but this is not ideal for scalability
// state.id = action.payload.id;
// state.name = action.payload.name;
// state.email = action.payload.email;
});
},
如 cmets 所示,尝试覆盖整个状态对象是行不通的。没有错误消息,但没有任何反应。但是,更新状态对象的每个单独部分确实有效。
【问题讨论】:
标签: reactjs redux react-redux redux-thunk