P粉8055354342023-08-27 19:30:48
你需要將過期時間
持久化到localStorage
或使用Redux-persist
來儲存
//此间隔仅在用户未关闭应用程序时执行 useEffect(() => { const interval = setInterval(() => { //调用api逻辑 //将过期时间写入本地存储 localStorage.setItem("expir",value) }, 3600); return () => clearInterval(interval); }, [user])
//获取在本地存储中写入/存储的过期时间 React.useEffect(() => { let mounted = true; const getToken = () => { if (mounted) { const expirationtime = localStorage.getItem("expir"); if (new Date() > new Date(Number(expirationtime))) { // 过期,获取新的令牌 } else { // 存在的令牌 } } }; getToken(); return () => { mounted = false; }; }, [user]);