在 React Hooks 中添加扩展运算符时出错
Error while adding with spread operator in React Hooks
将复选框中选定的 eid 添加到数组时出现错误。这是我在 Acomponent 中的复选框选择。
const checkBoxSelection = (eID, e) => {
console.log('eID', eID);
console.log('e.target.value', e.target.checked);
if (e.target.checked) {
setCheckedItems([...checkedItems, eID]);
} else {
setCheckedItems((prevState) => [...prevState.filter((item) => item !== eID)]);
}
};
复选框在 B 组件中。我正在通过 pops 发送。
<input type='checkbox' onChange={(e) => checkBoxSelection(data.id, e)} />
错误是
Uncaught TypeError: Invalid attempt to spread non-iterable instance.
In order to be iterable, non-array objects must have a [Symbol.iterator]() method
您的 checkedItems
初始值似乎不是 Array 。请确保您将初始值传递为 []
const [ checkedItems, setCheckItems ] = useState([])
也不需要传播从 filter
返回的数组,因为它 returns 是一个新数组。
setCheckedItems((prevState) =>prevState.filter((item) => item !== eID))
将复选框中选定的 eid 添加到数组时出现错误。这是我在 Acomponent 中的复选框选择。
const checkBoxSelection = (eID, e) => {
console.log('eID', eID);
console.log('e.target.value', e.target.checked);
if (e.target.checked) {
setCheckedItems([...checkedItems, eID]);
} else {
setCheckedItems((prevState) => [...prevState.filter((item) => item !== eID)]);
}
};
复选框在 B 组件中。我正在通过 pops 发送。
<input type='checkbox' onChange={(e) => checkBoxSelection(data.id, e)} />
错误是
Uncaught TypeError: Invalid attempt to spread non-iterable instance.
In order to be iterable, non-array objects must have a [Symbol.iterator]() method
您的 checkedItems
初始值似乎不是 Array 。请确保您将初始值传递为 []
const [ checkedItems, setCheckItems ] = useState([])
也不需要传播从 filter
返回的数组,因为它 returns 是一个新数组。
setCheckedItems((prevState) =>prevState.filter((item) => item !== eID))