我目前正在使用 Express.js 和 React.js,我正在考虑如何在刷新页面时使某个属性保持不变。
目前我的设置是这样的:
- 我为 React 组件的复选框设置了默认值 (true)。用户可以单击复选框来设置值 true/false。
- 我有一个计时器,它会在一定时间后自动注销用户并销毁 session (此计时器会在用户交互时自动刷新 - 基本上基于空闲时间)
有没有办法将复选框的当前值与 session 联系起来(假设 session 仍然有效)
1)存储复选框的值
2)重新加载页面时加载复选框的当前值(刷新后并使用默认值进行初始加载)
最佳答案
保存到本地存储并设置数据过期时间。 例如这样的事情:
var timeNow = new Date();
var expires = new Date() //set the expiration date
checkboxGetter(){
if (timeNow<=expires){
var checkboxGetter = JSON.parse(sessionStorage.getItem('checkbox'));
}
else{
sessionStorage.removeItem("checkbox");
console.log("expired")
}
}
checkboxSetter(checkbox){
sessionStrage.setItem('checkbox',JSON.stringify(checkbox));
}
请注意,如果您希望在关闭浏览器时数据保留在浏览器中或出于其他目的,您可以通过 localStorage 更改 sessionStorage。
关于javascript - Express.js/React.js 页面刷新状态持久化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45645429/