= () => {
                  
                  
                      const [clear,setClear] = useState(false);
                  
                  
                     useEffect(()=>{
                  
                  
                             localStorage.clear();
                  
                  
                             setClear(true);
                  
                  
                             return
                  
                  
                     }, [])
                  
                  
                      return (
                  
                  
                          <div>
                  
                  
                              {clear&&<Navigate to={"/login"}/> }
                  
                  
                          </div>
                  
                  
                      );
                  
                  
                  };
                  
                  
                  
                  
                  
                  export default Logout; 
                  
                  
                  Это правильно?
                  
                  
                
return в эффекте зачем?
effectUnmount()
и чё ты чистить собрался
мм.понятно. ну ладно. а что на анмаунт чистим?
useEffect(()=>{ localStorage.clear(); return setClear(true); }, []) правильно?
return в эффекте зачем тебе?
НЕ нужна,
import React, {useEffect, useState} from 'react'; import {Navigate} from "react-router-dom"; const Logout = () => { const [clear,setClear] = useState(false); useEffect(()=>{ localStorage.clear(); setClear(true); return }, []) return ( <> {clear&&<Navigate to={"/login"}/> } </> ); }; export default Logout;
в твоем примере нет. return нужен для запуска отписок. у тебя просто стейт устанавливается и ЛС чистится
Он же будет чиститься сразу при рендере?
я же правильно понимаю, ты нажимаешь на кнопку, попадаешь в этот компонент logout и ждешь что выкинет отсюда на логин потом?
Обсуждают сегодня