当只需要一次刷新时 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'),
);
我有一个 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'),
);