类型错误:destroy 不是 Reactjs 中的函数,而在 useEffect 钩子中调用 api 异步函数

Nav*_*mar 1 reactjs react-hooks use-effect use-state


const [dailyData, setDailyData] = useState([]);
 useEffect(async () => {
    const fetchData =  await fetchDailyData();  // fetchDailyData() is calling Api 
    setDailyData(fetchData); 

    console.log(fetchData); //fetchData print the value but dailyData not updating


  },[]);
Run Code Online (Sandbox Code Playgroud)

显示 destroy 不是函数并且 func.apply 不是函数

Dre*_*ese 5

Effect 钩子回调不能是异步的。相反,声明一个回调函数范围的异步函数,然后调用它。此外,正如@StéphaneVeyret 所指出的,您的“异步”效果钩子回调隐式返回一个 Promise,它被解释为效果钩子清理函数。它不是一个,但会导致错误。

useEffect(() => {
  const asyncFetchDailyData = async () => {
    const fetchData = await fetchDailyData(); // fetchDailyData() is calling Api 
    setDailyData(fetchData);
    console.log(fetchData);
  }

  asyncFetchDailyData();
}, []);
Run Code Online (Sandbox Code Playgroud)