= () => {
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 и ждешь что выкинет отсюда на логин потом?
Обсуждают сегодня