useState } from 'react';
import { $token } from 'lib/token';
export const useAuthenticated = () => {
const token = $token.getState();
const [authenticated, setAuthenticated] = useState(false);
useEffect(() => {
token ? setAuthenticated(true) : setAuthenticated(false);
}, [token]);
return authenticated;
};
и вызываю его в компоненте:
const isAuthenticated = useAuthenticated();
В консоли у меня выводит:
- false
- true
Получается он срабатывает в начале с стоковым значением, как сделать так чтобы он вызывался только один раз?
if(false) return в эффекте
Передай начальное значение в стейт сразу
Обсуждают сегодня