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,那就只会加一次。因为他是异步的。 里面如果是函数的话,才会同步执行。
00
相似问题