Javascript 我的第一个api请求总是在页面加载后失败

Javascript 我的第一个api请求总是在页面加载后失败,javascript,reactjs,api,axios,react-hooks,Javascript,Reactjs,Api,Axios,React Hooks,我的API请求有问题,页面加载后总是失败。我真的不知道我错在哪里 这是我的请求,当我与handleOpen函数交互时调用它 const stock = { method: 'GET', url: 'https://morningstar1.p.rapidapi.com/live-stocks/GetRawRealtimeFigures', params: {Mic: props.mic, Ticker: clickedElement.ticker}, head

我的API请求有问题,页面加载后总是失败。我真的不知道我错在哪里

这是我的请求,当我与handleOpen函数交互时调用它

  const stock = {
    method: 'GET',
    url: 'https://morningstar1.p.rapidapi.com/live-stocks/GetRawRealtimeFigures',
    params: {Mic: props.mic, Ticker: clickedElement.ticker},
    headers: {
      'x-rapidapi-key': 'XXX',
      'x-rapidapi-host': 'morningstar1.p.rapidapi.com'
    }
  }

  const getStock = async () => {
    try {
      const res = await axios.request(stock);
        return res.data;
    }
    catch (error) {
      setOpen(false);
      console.error("catch api error: ", error);
    }
  }

  const handleOpen = name => {
    
    let findClickedStock = props.stocksArray.find(item => item.ticker === name)
    setClickedElement(findClickedStock)

    getStock().then((dataFromStockApi) => {
      let combined1 = { ...dataFromStockApi, ...findClickedStock }
      setStockObject(combined1);

    });
    setOpen(true);
  };
错误:
这是因为您的Ticker参数为空

创建“股票”时,
单击元素。未定义股票代码

这样做:

    // pass name in as a parameter
    getStock(name).then(...)
使getStock如下所示:

  const getStock = async (ticker) => {
    try {
      const res = await axios.request({
         method: 'GET',
         url: 'https://morningstar1.p.rapidapi.com/live-stocks/GetRawRealtimeFigures',
         params: {Mic: props.mic, Ticker: ticker},
         headers: {
           'x-rapidapi-key': 'XXX',
           'x-rapidapi-host': 'morningstar1.p.rapidapi.com'
         }
      });

      return res.data;
    }
    catch (error) {
      setOpen(false);
      console.error("catch api error: ", error);
    }
  }

404
表示没有这样的url。确保你的url是正确的。你可以使用一些软件来帮助(如邮递员)。它使请求检查更快。另外,请注意错误消息显示的内容。可能与
SearchBar.js
第100行有关它与react或axios无关。。。您的api端点有问题。。。首先在postman中测试您的端点