React Native:可能的未处理的承诺拒绝(id:0):TypeError:undefined不是对象

时间:2019-05-15 15:32:40

标签: javascript reactjs react-native asynchronous es6-promise

我克隆了一个React Native应用程序,并在模拟器上注册了该应用程序后,在屏幕底部显示了这个黄色错误:

  

可能的未处理的承诺拒绝(标识:0):TypeError:未定义为   不是对象(评估“ data.Items”)

我认为它必须引用此文件中的一个或所有这些动作创建者:

export function fetchPrefences({Key}) {
  return dispatch => {
    const url = `${endpoints.v2.INDIVIDUALS}/${Key}/preferences`;
    requester.sendGet(url).then(data => {
      const payload = helpers.sortPreferences(data);
      dispatch({
        type: types.SET_USER_PREFERENCES,
        payload,
      });
    });
  };
}

export function fetchTopics() {
  return dispatch => {
    requester.sendGet(endpoints.TOPICS_OF_CONCERN).then(data => {
      dispatch({
        type: types.SET_USER_TOPICS,
        payload: data.Items,
      });
    });
  };
}

export function handleUpdateTopics({topics, involved}, updateBoth = false) {
  return dispatch => {
    return requester
      .sendPut(endpoints.TOPICS_OF_CONCERN, {
        Items: topics,
      })
      .then(data => {
        dispatch({
          type: types.SET_USER_TOPICS,
          payload: data.Items,
        });
        if (updateBoth) {
          dispatch(handleUpdatePreferences({involved}));
        }
      });
  };
}

我过去曾经写过异步动作创建器,但是我看不出它们有什么问题。 data是否未定义?如果是这样,我的问题是,如果在应用程序data的其他区域中使用无明显错误,那怎么可能?

1 个答案:

答案 0 :(得分:0)

您的数据结果是不确定的...与您的redux操作无关 检查您的api端点的一种简单而直接的方法是postman ...