gpt4 book ai didi

javascript - 如何在孙子组件中设置或更新数组的状态

转载 作者:行者123 更新时间:2023-12-05 02:35:05 24 4
gpt4 key购买 nike

我正在尝试从位于父组件中的孙子组件设置数组的状态。

我尝试使用 setNumberOfVar([...varsLines]); 这个方法,但它不会立即更新状态。它更新但退一步。

我的代码


const removeVar = (e, val) => {
e.preventDefault();
var varsLines = numberOfVar;
varsLines = numberOfVar.filter((item) => {
return item.postion != val;
});
varsLines = varsLines.map((item) => {
return {
...item,
postion: item.postion > val ? item.postion - 1 : item.postion,
};
});
console.log(varsLines);
setNumberOfVar([...varsLines]); // <== this line is not updating the state immediately;
console.log(numberOfVar);
};

最佳答案

setNumberOfVar() 是一个异步操作,不会立即更新状态。

如果您想在状态更新时获得回调之类的东西,您可以使用在状态更新时运行的 useEffect Hook 。

import {useEffect } from 'react';

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

关于javascript - 如何在孙子组件中设置或更新数组的状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70632404/

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