繁体   English   中英

React state hook 2D 数组第一个元素始终为空

[英]React state hook 2D array first element is always empty

我有一个二维数组,我可以将元素推送到它。 我遇到的问题是,当我打印内容时,索引 0 处总是有一个空白元素。我不知道这是从哪里来的?

const [array, setArray] = useState([[]]);

// 调用此代码 4 次

const updatedArray = [...array, ['test', 'test2']];
setArray(updatedArray);

在此处输入图像描述

这里的问题是

...array

因为数组的初始值为[]

所以array[0]将等于[]而你 append 你的新值从array[1]开始。

你想要做的是const updatedArray = [['test', 'test2']]; 因为您不希望保留初始值。

state 有时会出现此问题。
如果是钩子,你应该使用useEffect钩子,如下 -

const [fruit, setFruit] = useState('');

useEffect(() => {
  console.log('Fruit', fruit);
}, [fruit])

这挽救了我的一天,希望也能帮助你!!!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM