React useState hooks 不及时更新问题

6,153 阅读1分钟

当需要在上次更新后立即又发生变化时使用。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 后更新的值。