当只需要一次刷新时 React 中的无限刷新循环

Infinite refresh loop in React when only one refresh is desired

我有一个 React 应用程序,其页面上有一个组件。我想要做的是在您第一次加载该页面时只刷新一次该页面,但是我尝试过的所有操作(例如 window.location.reload() )都以无限刷新循环结束。 有人知道怎么做吗?

例如这样的事情:

import React, { useEffect } from 'react';
import ReactDOM from 'react-dom';

const App = () => {
  const reloadCount = Number(sessionStorage.getItem('reloadCount')) || 0;

  useEffect(() => {
    if(reloadCount < 2) {
      sessionStorage.setItem('reloadCount', String(reloadCount + 1));
      window.location.reload();
    } else {
      sessionStorage.removeItem('reloadCount');
    }
  }, []);

  return (
    <div>{ JSON.stringify({ reloadCount }) }</div>
  );
};

ReactDOM.render(
  <React.StrictMode>
    <App />
  </React.StrictMode>,
  document.getElementById('root'),
);