我正在使用react-cookie
npm包来处理反应中的cookie。我想要做的是检查cookie是否存在,如果没有,则将用户重定向到登录页面。但是,cookie的有效期为30分钟,我想检查cookie的到期时间,并再次将用户重定向到登录页面。
目前我正在componentWillMount
生命周期中执行此操作,但是如果仅在刷新页面时检查条件。我知道我应该使用componentWillUpdate生命周期做出反应并检查状态,但我无法弄清楚如何做到这一点。
这是我的代码。
componentWillMount() {
let getCookie = cookie.load('token');
let exp = cookie.load('exp');
console.log(getCookie);
if(getCookie === undefined || ((exp - new Date().getTime()) < 0)) {
let url = 'http://localhost:8080/login.html'
window.location.href = url
console.log(url)
}
}
感谢您提前提供任何帮助。
在JavaScript document.cookie中。 Cookie会在设定的到期时间后自动过期。同样地,react-cookie
也包含opt expires
。有没有办法可以用它来达到我的目的。
答案 0 :(得分:0)
如果使用setTimeout
创建计时器怎么办?
setTimeout(function() {
// check again for expire and redirect
}, cookie.load('exp') - new Date().getTime())
在willMount
或didMount
生命周期