useState的异步更新
const [list, setlist] = useState([0]);
function change(){
setlist([22, 1])
console.log(list) //我想这里直接获得[22,1],但是拿到的是[0]
}
useState每次执行会返回一个新的state(简单类型的等值拷贝)
setState会触发UI更新(重新render,执行函数组件)
由于UI更新是异步任务,所以setState也是一个异步过程
解决方法(再写一个副作用Hook,只用于监视list值的变化,从而进行操作)
useEffect(() => {
console.log(list)
}, [list])