강의

멘토링

커뮤니티

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

aiw99님의 프로필 이미지
aiw99

작성한 질문수

[리뉴얼] React로 NodeBird SNS 만들기

[Next.js 서버사이드렌더링] 사용자 게시글 로드 문제(동적 라우팅)

작성

·

285

0

안녕하세요 제로초님!

사용자 게시글 로드하는 부분 진행 중인데 userInfo 에 값이 제대로 들어가지 않습니다.

먼저 front/pages/user/[id].js 에서 이렇게 액션을 디스패치 해주고

sagas/user.js 에서 백엔드 서버로 요청해주었습니다.

그 다음 back/routes/user.js 에서 강의 내용대로 req.params.userId 를 가진 사용자를 찾아서 toJSON() 해주고

"data" 로 프론트 서버에 넘겨주었습니다. 여기가 문제인가 싶어 data.id 등을 찍어봤는데 값이 잘 나옵니다.

(userInfo 라고 되어있지만 data.id 임)

그러고 나서 sagas/user.js 에서 result.data 도 찍어봤는데 잘 나왔습니다.

이제 reducers/user.js 에서 LOAD_USER_INFO_SUCCESS 액션에서 draft.userInfo = action.data 해주었는데

화면에 사용자 정보도 안 뜨고 userInfo: null 이라고 뜹니다 ㅠㅠ

user/[id].js 부분 입니다.

(프론트 서버)

(브라우저 화면)

답변 1

0

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

redux-devtools 확인 한 번 해보시겠어요? hydrate 이후로 다른 액션이 호출되는지, 그로 인해 state가 바뀌는지 알아야합니다.

aiw99님의 프로필 이미지
aiw99
질문자

서버 사이드 렌더링이면 dev tool 에 안 찍힌다고 하셨던 거 같아요..!

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

저기 hydrate는 찍힙니다. 저기에 제대로 정보가 들어있나요?

aiw99님의 프로필 이미지
aiw99
질문자

userInfo: null 이라고 되어있습니다.

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

혹시 dispatch 순서를 바꿔도 결과가 똑같나요? 똑같다면 reducer 등에서 문제가 있어 보입니다.

aiw99님의 프로필 이미지
aiw99
질문자

네, 순서를 바꿔도 안 됩니다.

(sagas/user.js)

(reducers/user.js)

(결과)

==> 제가 보기엔 saga 에서는 result.data 가 잘 찍히지만, 어떠한 이유때문에 saga에서 reducer 로 값이 넘겨지지 않아서 그런 것 같은데.. 코드 상으로는 문제가 없어 보입니다 ㅠㅠ

aiw99님의 프로필 이미지
aiw99
질문자

reducer 부분에 오타가 있었네요.. 시간 내주셔서 감사합니다!! :)

aiw99님의 프로필 이미지
aiw99

작성한 질문수

질문하기