인프런 커뮤니티 질문&답변

무로박님의 프로필 이미지

작성한 질문수

따라하며 배우는 노드, 리액트 시리즈 - 기본 강의

노드 리액트 기초 강의 #34 인증 체크 (2) 강의 마무리.

Auth()를 처리하는 다른방식.

22.07.04 17:03 작성

·

423

0

 

export default Auth(LandingPage, null)

저 같은 경우는 위 코드가 안먹혀서 

다른 방법을 생각해봤는데요.

 

auth 부분을

export default function _auth(option, adminRoute = null) {
  const navigate = useNavigate()
  const dispatch = useDispatch()
  dispatch(auth()).then((response) => {
    console.log(response)

    //로그인 하지  않은 상태
    if (!response.payload.isAuth) {
      if (option) {
        navigate("/")
      }
    } else {
      //로그인 한 상태
      if (adminRoute && !response.payload.isAdmin) {
        navigate("/")
      } else {
        if (option === false) {
          navigate("/")
        }
      }
    }
  })
}

이렇게 수정해주고..

LandingPage 기준으로

Auth(null)

이 코드를 넣어준 후

export default LandingPage

이렇게 export해주시면 

정상적으로 작동합니다.

 

다른 페이지도 같은 방식으로 적용해주시면 돼요!

 

답변 1

0

Won님의 프로필 이미지

2022. 11. 04. 21:05

안녕하세요! 저도 비슷한 해결점으로 찾고 있었는데 마지막줄에 LandingPage 기준으로 Auth(null) 코드를 넣으라는 말이 무슨 뜻인가요? ㅠㅠ Landing.js 페이지에 해당 문구를 어디에다 넣어야하는건가요?