항상 좋은 강의 감사드립니다.
유튜브에서 강의듣다가 인프런까지 와서 수강하고있습니다.
기본강의에서도 구체적으로 다루어지지 않아서 여기에서 질문 드립니다.
/src/components/views/NavBar/Section/RightMenu.js
에서 보면
if (user.userData && !user.userData.isAuth) {
와 같은 구문이 있는데요,
user.userData를 찍어보면 값들이 잘 보이는데
- email: "test5@gmail.com"
- isAdmin: false
- isAuth: true
- name: "Kim"
- role: 0
- _id: "6142a0cb8bf282778fc3b987"
실제로 하위 프로퍼티를 읽어보려고 하면 에러가 납니다.
console.log(user.userData.isAuth)
라고 하면
TypeError: Cannot read properties of undefined (reading 'isAuth')
라고 에러가 납니다.
if (user.userData && !user.userData.isAuth) {
여기도 앞의값만 판단하고 뒤의 값은 무시되는것 같아서 순서를 바꿔보거나 !user.userData.isAuth단독으로 하면 같은 에러가 납니다.
값이 있는데도 읽을 수 없다고 하니 잘 이해가 안되는군요.
메뉴부분에 user.userData.name을 표시하고싶어서 시도했는데 에러때문에 쓸 수가 없어서 localStorage를 이용하고 있습니다.
Redux하고 관련이 있는건가요? Redux너무 어려워서 아직도 이해가안가서 고전중입니다.
그리고 boilerplate에 보면
client/src/components/views/LoginPage/LoginPage.js
50행에
window.localStorage.setItem('rememberMe', values.id);
이렇게 되면 undifine이 표시되어서
values.email
이 아닐까 생각합니다.
감사합니다. 알려주신대로 추가했더니 문제없이 값이 출력됩니다.
아직은 뭐가뭔지 잘 모르겠지만 리덕스 공부해서 이해해도록 하겠습니다.
감사합니다.