【问题标题】:Unhandled Rejection: default.get is not a function未处理的拒绝:default.get 不是函数
【发布时间】:2020-09-17 18:54:24
【问题描述】:

我正在尝试使用以下函数在我的反应组件中使用 axios 发出一个简单的获取请求:

import React from 'react';
import api from '../../assets/API';
import {useEffect, useState} from 'react';

export default function Chart() {
    const [apiData, setDataApi] = useState({ elements: [] });

    useEffect(() => {
    const fetchData = async () => {
        const result = await api.get('/countries');
        setDataApi(result.data);
    };
    fetchData();
    }, []);

    console.log(apiData);

    return(
        <h1>.</h1>
    )
}

api.js 如下所示:

import axios from 'axios';


const api = axios.get({
    baseURL: 'https://api.covid19api.com',
})

export default api;

我面临以下错误:

Uncaught (in promise) TypeError: _assets_API__WEBPACK_IMPORTED_MODULE_1__.default.get is not a function
    at fetchData (Chart.js:10)
    at Chart.js:13
    at commitHookEffectListMount (react-dom.development.js:19731)
    at commitPassiveHookEffects (react-dom.development.js:19769)
    at HTMLUnknownElement.callCallback (react-dom.development.js:188)
    at Object.invokeGuardedCallbackDev (react-dom.development.js:237)
    at invokeGuardedCallback (react-dom.development.js:292)
    at flushPassiveEffectsImpl (react-dom.development.js:22853)
    at unstable_runWithPriority (scheduler.development.js:653)
    at runWithPriority$1 (react-dom.development.js:11039)
    at flushPassiveEffects (react-dom.development.js:22820)
    at react-dom.development.js:22699
    at workLoop (scheduler.development.js:597)
    at flushWork (scheduler.development.js:552)
    at MessagePort.performWorkUntilDeadline (scheduler.development.js:164)

我已尝试清除缓存并使用 yarn install 来确保我拥有项目中的所有内容,但没有成功。我还在 console.log(apiData) 中收到了一个空数组,但我担心这与错误有关,因为我尝试使用其他 API 并遇到相同的响应。

【问题讨论】:

    标签: javascript reactjs api get axios


    【解决方案1】:

    这是一个简单的错误 =)

    api.js:

    const api = axios.get({
        baseURL: 'https://api.covid19api.com',
    })
    

    在上面定义 API 的代码中,您应该使用 axios.create 而不是 axios.get

    目前,如果您仔细观察,在您的 React 组件中,您基本上是在调用 axios.get().get(),这没有任何意义。

    【讨论】:

      猜你喜欢
      • 2018-12-09
      • 2021-10-14
      • 2020-11-16
      • 2020-05-06
      • 2019-10-27
      • 2020-09-26
      • 2021-04-16
      • 2021-03-09
      • 1970-01-01
      相关资源
      最近更新 更多