• 카테고리

    질문 & 답변
  • 세부 분야

    풀스택

  • 해결 여부

    해결됨

RightMenu.js에서 useSelect 질문있습니다

20.12.05 00:46 작성 조회수 117

0

 if (user.userData && !user.userData.isAuth) {
    return (
      <Menu mode={props.mode}>
        <Menu.Item key="mail">
          <a href="/login">Signin</a>
        </Menu.Item>
        <Menu.Item key="app">
          <a href="/register">Signup</a>
        </Menu.Item>
      </Menu>
    )

이와 같은 코드에서 landing page로 첫 로딩이 됬을 경우, user_reducer.js 파일에서 state의 초기값을 빈객체로 하였기 때문에 처음에는 빈 객체가 출력되고 dispatch한 action값으로  state값이 변경되는 구조이잖아요

위 사진과 같이 빈 객체일 시점에,

if(user.userData && user.userData.isAuth)를 쓰면

user.userData가 없는 property에 접근하기에 에러가 발생한다고 생각했는데, undefined가 되네요.

그렇다면 똑같이 빈 객체일 시점에서,

user.userData.isAuth를 하면 에러가 발생하네요.

이 둘은 자바스크립트의 객체의 문법적인 특징인가요??

혹시 참고할만한 자료같은게 있으면 부탁드리겠습니다

 

항상 강의 잘 보고 있습니다.

늘 다음 강의가 기다려지는 강의 감사합니다!

답변 2

·

답변을 작성해보세요.

1

비동기 요청으로 가져오는데 시간이 걸리기에 그 가져오기 전에는 undefined 가 떠서 
무조건 user.userData가 있을 때만 그리고 user.userData가 있다면  이제는 user.userData.isAuth가 있을 때만 

로직을 처리해주게 됩니다 ~ !  
수고하세요  ~ ! 

0

Dev님의 프로필

Dev

질문자

2020.12.08

감사합니다!!