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
},[]);
显示 destroy 不是一个函数并且 func.apply 不是一个函数
最佳答案
效果 Hook 回调不能是异步的。相反,声明一个回调函数范围的异步函数,然后调用它。此外,正如@StéphaneVeyret 所指出的,您的“异步”效果 Hook 回调隐式返回一个 Promise,它被解释为效果 Hook 清理函数。它不是但会导致错误。
useEffect(() => {
const asyncFetchDailyData = async () => {
const fetchData = await fetchDailyData(); // fetchDailyData() is calling Api
setDailyData(fetchData);
console.log(fetchData);
}
asyncFetchDailyData();
}, []);
关于reactjs - 类型错误 : destroy is not a function in Reactjs while call api async function in useEffect hook,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62113070/