当需要在上次更新后立即又发生变化时使用。useState 的更新为异步
,不会立即生效
在设置数据时将 静态数据
修改为 函数
即可获得上次更新的结果
import React from 'react'
export default () => {
const [count,setCount] = useState(0) ;// 使用 useState hook
const fn = () => {
// 设置两次更新,第二次传入一个接收上次更新后 count 的函数,并返回最新的 count
setCount(count+1);
setCount((_count) => {
return _count+1;
})
}
return <div>{count}</div>
}
第二次 setCount 中 _count
拿到的是 1,也就是第一个 setCount 后更新的值。