gpt4 book ai didi

javascript - 从 React Hook 复制一个数组

转载 作者:行者123 更新时间:2023-11-30 10:57:15 25 4
gpt4 key购买 nike

我正在使用 useState Hook 来填充数组中的项目。

const [meals, setMeals] = useState([]);
useEffect(async () =>{
const mealsData = await fetchMeals(localStorage.getItem('user_id'));
console.log(mealsData);// Array(3)
setMeals([...meals, mealsData]);
console.log(meals);//[]
}, []);

数组没有在我的 setMeals 方法中获取副本,我在这里做错了什么?

最佳答案

这是因为

setMeals([...meals, mealsData]);

是一个异步调用,在确定状态实际更新之前,您正在记录膳食

console.log(meals);

您应该在另一个 useEffect() 调用中调用并检查您的 console.log() 函数,该调用在每次状态更改时运行并确保状态实际更改

useEffect(() => {
console.log(meals);
}, [meals]);

[meals] 作为第二个参数传递将使此 useEffect() 在每次 meals(实际上)更新时运行。

关于javascript - 从 React Hook 复制一个数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59523094/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com