Reactjs react js中的“记住我”功能

Reactjs react js中的“记住我”功能,reactjs,jwt,Reactjs,Jwt,在这里,我必须在react js中实现记住我的功能。成功登录后,我收到jwt令牌,该令牌的有效期为24小时。我将令牌存储在本地存储器中。我在登录屏幕上有一个“记住我”复选框 const handleSuccessfulLogin =async()=>{ //login api call localStorage.setItem("token",token) //storing the token from the api response local

在这里,我必须在react js中实现记住我的功能。成功登录后,我收到jwt令牌,该令牌的有效期为24小时。我将令牌存储在本地存储器中。我在登录屏幕上有一个“记住我”复选框

const handleSuccessfulLogin  =async()=>{
   //login api call
   localStorage.setItem("token",token) //storing the token from the api response
   localStorage.setItem("rememberme",rememberMe) //storing the rememberme value(true/false)
  }

const handleLogout = ()=>{
 localStorage.clear();
 }
App.js:

const App = () => {
 useEffect(() => {
  if (localStorage.getItem("rememberme") == true) {
   if (localStorage.getItem("token") != null) {
    let token = decodeToken();
    if (token.exp < Date.now() / 1000) {
      console.log("Refresh the token");
    }
    }
   } 

 }, []);

 return (
 <BrowserRouter>
    <Switch>
      <Route
        path="/admin"
        render={(props) =>
          localStorage.getItem("token") ? (
            <AdminLayout {...props} />
          ) : (
            <Redirect from="/admin" to="/auth/login" />
          )
        }
      />
      {/* <Route path="/admin" render={(props) => <AdminLayout {...props} />} /> */}
      <Route path="/auth" render={(props) => <AuthLayout {...props} />} />
      <Redirect from="/" to="/auth/login" />
    </Switch>
 </BrowserRouter>
 );
 };
 ReactDOM.render(<App />, document.getElementById("root"));
const-App=()=>{
useffect(()=>{
if(localStorage.getItem(“rememberme”)==true){
if(localStorage.getItem(“令牌”)!=null){
让token=decodeToken();
if(token.exp
{/*  } /> */}
} />
);
};
render(,document.getElementById(“根”));
案例1:如果记住我=错误, ->在正常情况下,用户使用凭据登录,然后注销 网站。 ->假设用户放弃登录网站,一段时间后如果 用户再次访问时,他将能够访问该网站(如果token尚未访问) 过期)。如何处理


请帮助我记忆我功能的实现。提前感谢。

具体说明您需要的帮助。是否存在无法修复的错误?您正在询问如何在输入字段中存储密码@玉山:好的。我已经更新了问题。根据App.js代码,您已经检查了令牌并呈现布局。它不起作用吗?在以下情况下它不起作用:假设我已登录到该网站(未选中“记住我”选项),但忘记注销。。现在,如果我在一段时间后再次访问该网站,它应该被重定向到登录页面,而不是仪表板/管理页面。但这里它不是重定向。。我不明白怎么处理这个案子。