【发布时间】:2020-03-06 10:11:44
【问题描述】:
我正在尝试使用 React Hooks,但不知何故我的状态没有更新。当我点击复选框时(参见示例),我希望将后者的索引添加到数组selectedItems,反之亦然
我的函数如下所示:
const [selectedItems, setSelectedItems] = useState([]);
const handleSelectMultiple = index => {
if (selectedItems.includes(index)) {
setSelectedItems(selectedItems.filter(id => id !== index));
} else {
setSelectedItems(selectedItems => [...selectedItems, index]);
}
console.log("selectedItems", selectedItems, "index", index);
};
您可以找到console.log 结果
here
结果中的一个空数组,有人可以向我解释我错过了什么吗?
【问题讨论】:
-
其实你的代码没有问题。只是当您登录
selectedItems时,状态尚未更新。 -
setSelectedItems是异步的,它不会立即更新状态。您的状态已过时。 -
@hussain.codes ,那么添加了什么指令来获得数组的当前状态
标签: reactjs react-hooks use-state