基本用法
const [age, setAge] = useState(22);
const [age, setAge] = useState(generateAge); //傳入函數生成初始值,此函數只會在首次渲染執行一次
//更新狀態
setAge(val)
setAge((preState)=>{ return preState +1}); //state有快照概念,一次渲染週期中只能獲取到上次渲染的快照值,即使本次渲染修改了state值
//值為對象或數組,需創建新引用
setForm({
...form,
key: val
})
//值為一個函數
const [fun, setFun] = useState(()=> someFunction)
setFun(()=>{someOtherFunction})