setCount的相关问题

来源:3-7 memo、useMemo和useCallback案例讲解

皮小西

2023-06-13

老师我想请教一下,就是点击

<button onClick={handleClick}>按钮</button>

会执行:

  const handleClick = () => {
    setCount(count + 1)
  }

使得count每次都会加+1.
但是之前又说过。
setCount(count + 1)三次,但始终是1的原因:每次执行时,count依赖的都是外面这个值,所以cont都是0,一直都是1。

而需要改为:
setCount((count)=>{count + 1})
setCount((count)=>{count + 1})
setCount((count)=>{count + 1})
这样才能使count为3,该如何理解呢?有点迷惑…

写回答

1回答

河畔一角

2023-06-13

不是,这样点击count每次会加1的,因为更新是很快的。但是,如果你点击事件里面同时放三个setCount,那就只会加一次。因为他是异步的。 里面如果是函数的话,才会同步执行。

0
0

React18+TS 通用后台管理系统解决方案落地实战

全面提升React高阶技能,灵活驾驭各类后台管理系统开发痛点

625 学习 · 226 问题

查看课程