小编sky*_*der的帖子

creactAsyncThunk 中的 action.payload 未定义

我正在尝试使用带有createAsyncThunk 的 axios从 api 获取用户数据,并希望用户数据通过由createAsyncThunk调度的已完成操作存储在状态中。

文档中所述

如果承诺成功解决,则使用承诺值作为 action.payload 发送已完成的操作。

但是 action.payload 在已完成的动作创建者中未定义。

这是我的代码。

/// Create Async Thunk
export const fetchUserData = createAsyncThunk(
  'user/fetchUserData',
  (payload, { dispatch }) => {
    axios
      .get('/user')
      .then(res => {
        console.log(res.data);
        //Used this as a work around for storing data
        dispatch(setUser(res.data));

        return res.data;
       })
      .catch(err => {
        console.error(err);
        return err;
      });
  }
);

/// On Fulfilled
const userSlice = createSlice({
...
  extraReducers:{
  ...
  [fetchUserData.fulfilled]: (state, action) => { …
Run Code Online (Sandbox Code Playgroud)

reactjs react-redux redux-toolkit

5
推荐指数
1
解决办法
1509
查看次数

标签 统计

react-redux ×1

reactjs ×1

redux-toolkit ×1