尽管数据可用,但 redux 中的有效负载始终未定义

Codehan25

我有一个Next.js应用程序,我在其中使用了 redux / redux saga。

虽然我从后端接收数据(因此我可以在浏览器的网络选项卡中看到一个有效负载),但它作为undefined. 我认为这可能是由于有效负载类型并将其设置为any. 尽管如此,它还是不想工作。

这是我的设置(以简化形式显示):

动作.ts

export const getSomeStuff: ActionType<any> = (data: any) => ({
  type: actionTypes.GET_SOME_STUFF,
  payload: data,
});

export const getSomeStuffSuccess: ActionType<any> = (data: any) => ({
  type: actionTypes.GET_SOME_STUFF_SUCCESS,
  payload: data,
});

动作类型.ts

export const actionTypes = {
  GET_SOME_STUFF: 'GET_SOME_STUFF',
  GET_SOME_STUFF_SUCCESS: 'GET_SOME_STUFF_SUCCESS',
};

减速器.ts

interface customInterface {
  list: any;
}

export const initialState: customInterface = {
  list: null,
};

function reducer(state = initialState, action: ReturnType<ActionType>) {
  switch (action.type) {
    case actionTypes.GET_SOME_STUFF_SUCCESS:
      return {
        list: action.payload,
      };
    default:
      return state;
  }
}

sagas.ts

function* getSomeStuffSaga(action: ReturnType<ActionType>) {
  try {
    const payload: any = yield call(api.getSomeStuff, action.payload);
    yield put(getSomeStuffSuccess(payload));
  } catch (error) {
    console.error(error);
  }
}

function* watchGetSomeStuffSaga() {
  yield takeLatest(actionTypes.GET_SOME_STUFF, getSomeStuffSaga);
}

export default function* sagas() {
  yield fork(watchGetSomeStuffSaga);
}

api调用

  getSomeStuff = (data: any) => {
    http.get(`my/custom/endpoint`) as Promise<any>;
  };

派遣

dispatch(getSomeStuff('someStringParametersPassed'));

我得到的简化有效负载(在浏览器网络选项卡中)

{
   "items": [
      {
         "id":"123456789",
         "stuff":{
            "generalStuff": {
               ...
            },
            "basicStuff": {
               ...
            }
         }
      },
   ]
}
亚历克斯

我猜你只是忘记了return在 api 调用中:

getSomeStuff = (data: any) => {
      return http.get(`my/custom/endpoint`) as Promise<any>;
  };

:)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

从Fireux提取数据时,来自Redux Toolkit的createAsyncThunk会产生未定义的有效负载

当多个有效负载时,react / redux操作创建者返回未定义的

尽管在 redux 商店中设置了 props 未定义

拉API时在Redux中未定义数据

反应redux渲染数据未定义

尽管收到有效的操作负载(异步身份验证调用),为什么我的 Redux 状态没有更新

React Redux调度有效负载达到数据的大小写,但不保存

React Redux Action有效载荷返回未定义

减速器中Redux有效负载的问题

尽管 Redux devtools 正确显示商店,但 Redux 状态返回为未定义

在 Node+Express+Passport 应用中,res.locals.users 有效,但数据未定义

尽管数据库中有结果,indexedDB objectStore.get()始终返回未定义

灰烬数据:model.get('modelName')未定义,但是model._internalModel有效

如何在 Nestd 有效负载中获取有效负载数据?

react-redux-firebase:实时数据库中未定义的uid

反应原生 redux 负载总是返回未定义

Redux提取返回空的有效负载数组

在Redux上下文中什么是有效负载

redux-observable如何保持传递有效负载

Angular redux @effect:检索有效负载时出错

Redux:按记录键猜测有效负载类型

在减速器中未定义 React-Redux-Saga 动作负载

如何通过传递有效负载的组件在Redux中设置状态?

如何在 redux typescript 中获取有效负载类型

Redux管理字符串始终返回“未定义”

在mapStateToProps中未定义Redux状态

Ajax 从一个对象中一起返回未定义和有效的数据

NodeJs / Koa - 单元测试中未定义错误有效负载

'Redux'未定义错误