react_persist_login
react_persist_login copied to clipboard
When I refresh twice, I get logged out.
When I refresh the page twice, i get logged out. If I refresh only once, I do not get logged out.
import { Outlet } from 'react-router-dom' import { useState, useEffect } from 'react' import useRefreshToken from '../hooks/useRefreshToken' import useAuth from '../hooks/useAuth'
const PersistLogin = () => { const [ isLoading, setIsLoading ] = useState(true) const refresh = useRefreshToken() const { auth } = useAuth()
useEffect(() => {
let isMounted = true
const verifyRefreshToken = async () => {
try{
await refresh()
}catch (err){
console.log(err)
}
finally{
// Avoids unwanted call to verifyRefreshToken
isMounted && setIsLoading(false)
}
}
!auth?.accessToken ? verifyRefreshToken() : setIsLoading(false);
return () => isMounted = false
},[])
useEffect(() => {
console.log(`isLoading : ${isLoading}`)
console.log(`authToken : ${JSON.stringify(auth?.accessToken)}`)
},[isLoading])
return ( <> {isLoading ?
...Loading
: <Outlet /> } </> ) }export default PersistLogin
useEffect(() => { let isMounted = true; const verifyRefreshToken = async () => { try { await refresh() } catch (error) {
console.log(error)
} finally {
isMounted && setIsLoading(false)
}
}
!auth?.accessToken && persist ? verifyRefreshToken() : setIsLoading(false);
return () => isMounted = false;
}, [])
//It was actually updated on github afterward.