首页 > 试题广场 >

在下面的 React 组件中,如果用户多次点击按钮,控制台每

[单选题]
在下面的 React 组件中,如果用户多次点击按钮,控制台每秒会打印出什么?
function Counter() {
  const [count, setCount] = useState(0);
  useEffect(() => {
    const intervalId = setInterval(() => {
      console.log(count);
    }, 1000);
    return () => clearInterval(intervalId);
  }, []); // 注意此处的空依赖数组
  return <button onClick={() => setCount(c => c + 1)}>Increment</button>;
}
  • 每次都打印 `count` 的最新值
  • 总是打印 `0`
  • 依次打印 `0`, `1`, `2`, ...,每秒递增
  • 组件会因依赖项数组为空而抛出错误
useEffect传递空数组时相当于componentDidMount,不传递数组时相当于componentDidMount和componentDidMount和componentDidUpdate,传递指定数组时,相当于对其中的每个对象都在componentDidUpdate后执行
发表于 2026-04-13 11:06:26 回复(0)