我粘贴到标题中的句子是我从代码中得到的,我试图用钩子对数组中的状态进行更改,这是我的代码。
export default function card(){
let array = [true,false]
const [change, setChange]=useState(array)
function toggleIcon() {
setChange(
...change,
change[0]=!change[0]
)
console.log(change)
}
return(
</Fragment>
{ change[0] ? (<p>hi</p>): (<p>bye</p>)}
</Fragment>
)
}
这是我改变了firts,我改变了嗨,再见...但是当我再次单击它时,y得到了这个错误MyContracts.js:18
未捕获的TypeError:更改不可迭代
答案 0 :(得分:0)
您错误地进行了销毁,请尝试在不需要进行销毁的代码下面尝试,但是如果您想尝试的话,也可以使用带注释的代码。
function toggleIcon() {
//let newState = [...change];
//newState[0] = !change[0];
//setChange(newState);
change[0]=!change[0]
setChange(change);
console.log(change)
}