Javascript 加载ReactJS页面时发送的API请求过多

Javascript 加载ReactJS页面时发送的API请求过多,javascript,reactjs,Javascript,Reactjs,可从https://api.corona-19.kr/ 我正在用ReactJS编写上述代码 进入网页时,API请求每秒重复30次。在哪里重复 如果代码很长,您需要其他代码,我会将其附加到下面的链接。 }) 我们需要知道您在哪里以及如何调用apirest?还要考虑在您的方法中添加代码>控制台.Trace以查找调用堆栈,并可以发现您的根因果问题是CORONANFORKORYAAPI的多重渲染。确保不会发生多次重新渲染。@Yanis git在useffect@nirbhaygp中调用它是正确的——O

可从
https://api.corona-19.kr/

我正在用ReactJS编写上述代码 进入网页时,API请求每秒重复30次。在哪里重复

如果代码很长,您需要其他代码,我会将其附加到下面的链接。


})

我们需要知道您在哪里以及如何调用
apirest
?还要考虑在您的方法中添加<>代码>控制台.Trace以查找调用堆栈,并可以发现您的根因果问题是CORONANFORKORYAAPI的多重渲染。确保不会发生多次重新渲染。@Yanis git在
useffect
@nirbhaygp中调用它是正确的——OP询问原因。我在您提供的代码中没有看到任何会导致多次执行API请求的内容。
CoronaInfoKoreaApi
组件是否多次安装?
import React, { useState, useEffect } from 'react';
import axios from 'axios';
import LogoImg  from '../img/logoimg.png'



function CoronaInfoKoreaApi() {
    const serviceKey = "serviceKey "

    const [info, setInfo] = useState([]);
    const [todayInfo, setTodayInfo] = useState([]);
    const [error, setError] = useState(null);

    const [loading, setLoading] = useState(false);

    const url = `https://api.corona-19.kr/korea/?serviceKey=${serviceKey}`;
    const url2 = `https://api.corona-19.kr/korea/country/new/?serviceKey=${serviceKey}`
    const apiRequest = async () => {
        try {
          // 요청이 시작 할 때에는 error 와 users 를 초기화하고
          setError(null);
          setTodayInfo(null);
          setInfo(null);
          // loading 상태를 true 로 바꿉니다.
          setLoading(true);
          const response1 = await axios.get(
            url
          );
          const response2 = await axios.get(
            url2
          );
          setTodayInfo(response2.data.korea); // 데이터는 response.data 안에 들어있습니다.
          setInfo(response1.data); // 데이터는 response.data 안에 들어있습니다.
        } catch (e) {
          setError(e);
        }
        setLoading(false);
      };

      useEffect(() => {
        apiRequest();
      }, []);
const apiRequest = async () => {
try {
  const res = await Promise.all([
    axios.get(url),
    axios.get(url2),
    
  ]);
  const data = res.map((res) => res.data);
  console.log(data.flat());
} catch {
  throw Error("Promise failed");
}