我试图弄清楚 React Hook API 的工作原理。我正在尝试向列表中添加一个数字。我评论的代码,即 myArray.push… 似乎没有执行该操作,尽管它下面的代码工作正常。为什么会这样?
import React, {useState} from 'react'
export default () => {
const [myArray, setArray] = useState([1,2,3])
return (
<div>
{myArray.map((item=>{
return <li>{item}</li>
}))}
<button onClick = {()=>{
// myArray.push(myArray[myArray.length-1]+1)
// setArray(myArray)
setArray([...myArray, myArray[myArray.length-1]+1])
}}>Add</button>
</div>
)
}
原文由 Jithin Ks 发布,翻译遵循 CC BY-SA 4.0 许可协议
对于比单个值更复杂的任何事情,我建议使用
useReducer
。