foreach循环不适用于use state hook reactjs



点击按钮,我正试图将forEach循环用于我的use状态钩子,它最初是一个数组。

我的钩子是:

const [regrowsData, setRegrowsData] = useState([])

我的按钮代码是:

<Button variant="contained" color="primary" onClick={() => regenrateRows()}>Add Row</Button>

更改useSate钩子数据的函数:

const regenrateRows = () => {
var newArr = regrowsData;
newArr.push('newvalue');
setRegrowsData(newArr);
}

函数,我想在其上为Each重新生成状态数组。

var getRows = () => {        

regrowsData.forEach((row) => {

alert(row)
})

}

问题是状态更改,没有出现警报消息。

这可能是因为您使用的是可变数据。尝试将regenarateRows函数更改为:

const regenrateRows = () => {
setRegrowsData([...regrowsData, 'newvalue']);
}

您正在更新对状态的相同引用,这就是react无法找到更改的原因。

试试这个

const regenrateRows = () => {
regrowsData.push('newvalue');
setRegrowsData([...regrowsData]);
}

最新更新