useState |在不设置新状态的情况下使用useEffect将导致重新渲染

时间:2020-05-25 14:30:22

标签: javascript reactjs

我找不到任何信息为什么此渲染被调用两次?

for(int j = 0; j < size; j++) {
    for(int i = 0; i < size-j-1; i++) {...}
}

当我删除

const Test: React.FC = () => {
  const [myState, setMyState] = useState();

  console.log("RENDER TEST");
  return <div>test</div>;
};

然后该组件仅呈现一次。

useEffect也是如此:

const [myState, setMyState] = useState();

没有useEffect的情况下,渲染仅被调用一次。

1 个答案:

答案 0 :(得分:0)

这是由于React的 StrictMode 而发生的,目的是发现任何问题并希望您解决这些问题。它仅在开发中运行,而不在生产中运行。在 index.js 中的应用程序中,您会发现 App 组件已包含 React.StrictMode 组件。您可以详细了解https://reactjs.org/docs/strict-mode.html

相关问题