问答题406/1593下面代码中,点击 “+3” 按钮后,age 的值是什么?

1import { useState } from 'react'; 2 3export default function Counter() { 4 const [age, setAge] = useState(42); 5 function increment() { 6 setAge(age + 1); 7 } 8 return ( 9 <> 10 <h1>Your age: {age}</h1> 11 <button onClick={() => { 12 increment(); 13 increment(); 14 increment(); 15 }}>+3</button> 16 </> 17 ); 18} 19
难度:
2024-04-24 创建

参考答案:

点击 +3 时,可能只更新为 43。

这是因为 setAge(age + 1) 即使多次调用,也不会立即更新组件状态,而是会进行合并,最终只触发一次重新渲染。

如果要实现调用三次就增加 3 ,可以将 increment 改为函数式更新:

1function increment() { 2 setAge(a => a + 1); // 函数式更新 3}

最近更新时间:2024-06-01

赞赏支持

预览

题库维护不易,您的支持就是我们最大的动力!