从不同元素调用时,重复的 console.log() 计数会重置

问题描述 投票:0回答:1

我有以下代码:

import ReactDOM from 'react-dom/client';
import { useState, useEffect } from 'react';

const App = () => {
  
  useEffect(() => { console.log('Render'); });

  const [item, setItem] = useState([]);
  const [word, setWord] = useState([]);

  return (
    <div>
      <input value={item} onChange={(e) => {setItem(e.target.value)}}></input>
      <label>{word}</label>
      <button onClick={() => setWord(new Date().toString())}>Submit</button>
    </div>
  );
}

const root = ReactDOM.createRoot(document.getElementById('root'));
root.render(
    <App />
);

为什么输入

console.log('Render')
会显示
<input>
打印的次数,而点击
<button>
会显示打印的次数?

在这里,您可以看到当我输入“abc”时,它打印了三次“渲染”,然后当我单击按钮两次时,它开始了新的“渲染”计数:

Image showing number of times a log was printed

为什么不直接说

5 Render

javascript reactjs google-chrome-devtools
1个回答
0
投票

控制台自动分离源自不同用户操作的日志,为每种交互类型维护单独的计数器。

这种区别有助于调试,因为它允许您查看不同的交互如何独立地影响组件生命周期。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.