특정 페이지에서 새로고침 시 LOAD_USER_REQUEST를 실행하지 않는 문제
안녕하세요! 강의 듣고 토이프로젝트 진행중인 학생입니다.
SSR을 통해 데이터를 프론트에서 미리 가져와주는 작업을 진행중입니다.
page/index.js의 경우 해당 페이지에 로그인 후 새로고침을 하면
app.js에서 계속해서 me 데이터를 가져와주어 문제가 없는데
page/user.js 페이지를 만들어서 작업중인데 해당 페이지는 링크를 타고 그대로 들어가면 문제가 없으나
새로고침 시 me데이터가 아예 사라지는 문제가 있습니다.
콘솔로그 찍어보니 LOAD_USER_REQUEST가 실행은 되는것 같은데 제대로 값을 불러내지 못하는것 같습니다.
어느 부분이 잘못된 것인지 저 나름대로 코드를 비교해보았으나 갈피를 잡지 못하여 질문 드립니다 ㅠㅠ
덧글로 파일 코드 작성해보겠습니다! 도움 주시면 감사하겠습니다 ㅠㅠ
답변 7
0
ㅠㅠㅠㅠ아이고.... 뭐가 잘못됐던건지 찾아냈습니다 제가 load_user_request 부분을 사가에서 takeEvery가 아닌 takeLatest로 해놨었네요ㅠㅠ 아예 뭐가 문젠지를 갈피를 못잡고 있었는데 LOAD_USER_REQUEST 반복 찝어주셔서 저부분 확인할 수 있었습니다 코드 봐주시고 도움 주셔서 감사합니다 !!
0
네! _app.js에선 모든 페이지에서 공통적으로 사용자 me를 데려오도록 하고 user페이지에서 userInfo를 데려오는데 해당 페이지에서 그 상태로 새로고침 할 시에는 user.me 데이터가 아예 null이 되어버립니다 ㅠㅠ..! userInfo는 새로고침 하더라도 잘 불러오구요..! 해당 페이지에서 덧글을 다는 기능을 위해 me가 그대로 보존되어야 하는데 새로고침 시 사라집니다 ㅜㅜ
user페이지의 request_load_user는 제대로 작동되는데 _app.js에서 request_load_user가 제대로 동작 했음에도(user.me에 사용자 본인의 데이터를 가져오도록) 데브툴을 확인해보면 user.me에 아무것도 담기지 않는(null) 문제가 생깁니다..!
0
user 페이지에서는 action.me가 아니라 action.userInfo 아닌가요? 위에 리덕스 데브툴 사진 보니까 action.userInfo에 시민 잘 들어있네요.
0
_app.js에선 사용자 본인의 정보를 불러와 me에 담고 user.js에선 /user/1로 이동했을 경우 id가 1인 사용자의 정보를 불러와 userInfo에 담는 형식으로 하고 있습니다! 이 부분은 nodebird의 page/user.js를 참고하여 작성하였어요..! 혹시 둘 다 같은 reducer를 사용하는 것이 문제가 될 수도 있을까요...? nodebird에선 user페이지 접속 시 me가 제대로 불러와졌던것 같은데 제 코드는 다른 페이지 접속시엔 잘 동작하는데 user페이지만 me를 제대로 불러오지 못하네요 ㅠㅠ
0
제로초님 계속 말을 번복해서 죄송합니다 ㅠㅠ
계속 콘솔로그 찍어서 확인해보니.. 사용자 데이터를 잘 불러와 LOAD_USER_SUCCESS까지 닿아서
값을 바꿔준 직후에 draft.me를 찍어보면 제대로 잘 뜨는데
브라우저에서 확인하면 me 가 뜨지 않네요 ㅠㅠ
다른 곳에서 draft.me를 초기화 한 것은 없는것 같은데
문제가 뭔지를 모르겠습니다 ㅠㅠ
action.data가 draft.me로 들어가기는 하나 브라우저에선 me가 null로 뜹니다!


index.js와 그 외 다른 페이지에선 me를 제대로 넣어주는데 user.js 페이지에서만 이런 문제가 나타납니다 ㅜㅜ
<user reducer 전체> (현재 LOAD_USER_SUCCESS가 강의내용과는 조금 다른 형식으로 되어있는데 제로초님께서 써주셨던 코드 그대로 복붙해보아도 같은 문제가 생깁니다)
0
front/pages/_app.js
front/pages/index.js
front/pages/user.js (문제가 되는 부분입니다)
front/server.js
next 10 이상에서는 redux dev tool 구동이 안되나요?
0
272
1
세션 갱신 문의 건
0
482
7
배포 진행 후 Highlight updates components render 표시
0
445
1
똑같은 기능을 하는 테이블
0
447
4
관계형
0
312
2
프론트 서버를 이용하지 않는경우
1
299
3
인피니트 스크롤링 사용시 오류
0
278
0
계속 이런에러가 떠서 해결하기는 했는데 어떤 의미인지 모르겠습니다.
0
433
2
req.user가 언제 생성되나요??
0
330
2
Cannot read property 'id' of null 에러
0
333
1
리트윗한 게시글 불러오는 sequelize
0
252
1
result.data에서 images인 이유
0
281
2
takeLatest에 대한 질문입니다.
1
342
2
프론트에서 express를 사용하지 않을때 동적라우팅
0
501
6
getInitialProps가 클라이언트에서 수행되는 이유?
0
258
1
리로드하면 팔로우 언팔로우 값이 초기화 되는 문제입니다.
0
445
2
스타일드 컴포넌트와 className을 통한 스타일 적용의 차이에 대해 궁금합니다
0
585
2
할인 쿠폰 사용이 안되는되요 (848-f9af83f183e3)
0
365
1
nodejs mvc 패턴
0
975
4
사용하고 보니, 람다 구성이 궁금합니다!
0
266
1
제로초님
0
445
1
새로고침 로그인 풀림 문제.
0
247
1
안녕하세요. 강의 너무 감사합니다
0
157
1
제로초님
0
170
1





