Redux Toolkit中如何获取后端返回的完整登录数据?Meta参数不符预期
解决Redux Toolkit中获取后端返回完整用户数据的问题
你当前的问题核心是loginUser.fulfilled的参数解构错误,导致没拿到后端返回的完整数据。
问题根源
你在createAsyncThunk里已经正确返回了后端接口的响应数据response.data,但在fulfilled的处理逻辑中,错误地拆分了action参数结构,没正确获取到承载返回数据的payload属性。
修正方案
直接修改ExtraReducers里的loginUser.fulfilled处理逻辑,正确读取action.payload即可:
.addCase(loginUser.fulfilled, (state, action) =>{ console.log(action.payload, "后端返回的完整用户数据"); state.isLoading = false; // 用action.payload获取后端返回的完整用户信息 state.user = action.payload; addUserToLocalStorage(action.payload); toast.success(`Hello There ${action.payload.name || action.payload.email}`); })
关键说明
action.payload就是你在loginUserthunk函数里return response.data的内容,包含后端返回的name、email、password和token- 原来的
meta.arg只是调用thunk时传入的初始参数(仅email和password),并非后端返回的完整数据 - 可以根据实际返回字段调整提示内容,比如优先显示
name,不存在时再用email
内容的提问来源于stack exchange,提问作者Prasan Kumar
相关产品推荐
相关产品推荐

