React - useEffect missing dependency

da.circle·2022년 11월 27일
0

React Hook useEffect has a missing dependency

useEffect를 사용하면서 정말 많이 보는 에러이다..

참고1)기억보다 기록을 - exhaustive-deps-warning 해결법
참고2)TAmi-[React 오류] React Hook useEffect has a missing dependency: ' '.

에러 메세지를 유심히 보면 다 알려준다..
Line 22:6: React Hook useEffect has a missing dependency: 'token' .

  • 처음에 내가 작성한 코드
    • 로그인 여부를 판단하는 state와 useEffect이다.
    • 로그인 여부는 페이지 처음 들어왔을때만 판단하면 되겠지? → 빈 의존성 배열
const [isLogin, setIsLogin] = useState(false);
  
const token = localStorage.getItem('token');
  useEffect(() => {
    if (token) {
      setIsLogin(true);
      return;
    } else if (!token) {
      setIsLogin(false);
      return;
    }
  }, []);

에러 발생!

  • 수정한 코드
    • 의존성 배열 안에 useEffect에서 사용한 token을 넣는다.
const [isLogin, setIsLogin] = useState(false);

const token = localStorage.getItem('token');
  useEffect(() => {
    if (token) {
      setIsLogin(true);
      return;
    } else if (!token) {
      setIsLogin(false);
      return;
    }
  }, [token]);

에러 해결!

profile
프론트엔드 개발자를 꿈꾸는 사람( •̀ ω •́ )✧

0개의 댓글