javascript - 当只需要一次刷新时,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'),
);
推荐阅读
- php - 检查 Psql 数据库中的唯一电子邮件
- vb.net - 创建和使用 ODP.NET 连接的最佳方式
- javafx - 如何将 fx:id 用于 kotlin/tornadofx 中的选项卡内容?
- statistics - 如何从列表中选择值。数学
- ios - 在 iOS 应用程序中运行已编译的 c 程序(或 .o)?
- autohotkey - 如何使用带有数组的 Autohotkey 发送命令?
- javascript - 如何将数组传递给数据中的ajax调用
- tinymce - 如何将 Datepicker 添加到自定义对话框 TinyMCE 上的文本框中
- vba - 添加项目时如何监视 pst 中的文件夹以运行代码?
- php - 数组总是返回相同的值