反应本机中未处理的承诺拒绝错误?

sto*_*ock 3 javascript reactjs react-native axios

我正在使用axios从API端点获取数据。我收到错误->可能未处理的承诺拒绝类型错误:undefined不是一个函数(评估res.json())

我在React Native应用中使用react-redux和redux-thunk。

placeAction.js:

import { FETCH_VENUES } from './types';
import axios from 'axios';

export const fetchVenues = () => dispatch => {
    axios.get(`my_api_link`)
    .then( res => res.json())
    .then( venues => 
        dispatch({
            type: FETCH_VENUES,
            payload: venues
        })
    )
    .catch( error => {
        console.log(error);
    });
};
Run Code Online (Sandbox Code Playgroud)

检查以下屏幕截图:

在此处输入图片说明

Jam*_*lly 5

调用json()响应是Fetch API的一部分。相反,Axios实现了XMLHttpRequest,这意味着您不需要这样做。

axios.get(`my_api_link`)
  .then(venues => {
    ...
  });
Run Code Online (Sandbox Code Playgroud)

Axios是一个Javascript库,用于从node.js发出HTTP请求或从浏览器发出XMLHttpRequest,它支持JS ES6固有的Promise API。它在.fetch()上具有的另一个功能是,它执行JSON数据的自动转换。

如果使用.fetch(),则处理JSON数据时将分两步进行。第一个是发出实际的请求,然后第二个是在响应上调用.json()方法。

- 获取与Axios.js用于HTTP请求由贾森·阿诺德对中