-
카테고리
-
세부 분야
풀스택
-
해결 여부
미해결
Posts 데이터가 안불러집니다 흑
21.04.24 00:39 작성 조회수 251
0
전에는 me.nickname 에 nickname이 안불러져 와서 제로초님이 알려주신 방식대로 ?. 옵셔널 체이닝(?) 방식으로 처리했는데 이번에는 me.Posts, me.Followings, me.Followers 하니까 이런 에러들이 나와서 이번에도
이런식으로 처리를 했는데요 ㅠㅠ
이렇게 없는 걸로 간주되어 프로필이랑 작성글, 팔로잉, 팔로워에 아무것도 안나옵니다...
👇🏻 제가 작성한 리듀서 내용 입니다 ! 늘 답변 감사드립니다 ㅜ!
답변을 작성해보세요.
0
조현영
지식공유자2021.04.28
지금 보시면 서버쪽에서 LOG_IN_REQUEST와 ADD_POST_REQUEST가 있는데요. 매번 페이지 로딩 시마다 ADD_POST_REQUEST를 하실 건가요? LOAD_POSTS_REQUEST로 포스트를 가져와야하지 않나요?
0
leehyunju
질문자2021.04.24
안녕하세요! 몇시간 내내 데이터 분석도 해보고, 리듀서 분석도 해보면서 붙잡고 있다가
계속 똑같은 이유로 해결이 안되서 마지막으로 질문드립니다 죄송합니다 ㅠ-ㅠ
제가 현재 한 레이아웃에 로그인, 로그아웃 기능을 모아둔게 아닌 이렇게 로그인 페이지를 따로 만들어서 작업중인데요..! 로그인 버튼을 눌렀을 때, 로그인 로딩 요청을 하고 아래 페이지로 넘어가게끔 구조를 짜봤습니다.
그렇게 로그인 버튼을 누르면 로그인 성공이 뜨면서, me에 제가 입력해둔 데이터들이 잘 담긴게 확인 되었고 콘솔 창으로 2차 확인까지 완료된 상태인데요!
이게 콘솔창으로 확인해본 me에 dummyUser 데이터입니다. 그리고 저 페이지는
[useProfile.js]
이렇게 me부분을 주석처리해서 성공적으로 페이지가 뜬 모습인데요.. 주석을 풀면
계속 이렇게 똑같은 에러가 뜹니다. 리듀서도 잘 불러와진거 같은데 왜 데이터를 못불러오는 것인지 의문이에요 ㅜㅜ,, 그리고 VS 코드 에디터상으로는 밑에와 같은 에러문장들도 동시에 발생 됩니다 😭😭😭
---------------------------------------------
HYDRATE {
type: '__NEXT_REDUX_WRAPPER_HYDRATE__',
payload: {
index: {},
user: {
logInLoading: false,
logInDone: false,
logInError: null,
logOutLoading: false,
logOutDone: false,
logOutError: null,
signUpLoading: false,
signUpDone: false,
signUpError: null,
me: null,
signUpData: {},
loginData: {}
},
post: {
mainPosts: [Array],
imagePaths: [],
addPostLoading: false,
addPostDone: false,
addPostError: null
}
}
}
1. getProps created store with state {
index: {},
user: {
logInLoading: false,
logInDone: false,
logInError: null,
logOutLoading: false,
logOutDone: false,
logOutError: null,
signUpLoading: false,
signUpDone: false,
signUpError: null,
me: null,
signUpData: {},
loginData: {}
},
post: {
mainPosts: [ [Object] ],
imagePaths: [],
addPostLoading: false,
addPostDone: false,
addPostError: null
}
}
3. getProps after dispatches has store state {
index: {},
user: {
logInLoading: false,
logInDone: false,
logInError: null,
logOutLoading: false,
logOutDone: false,
logOutError: null,
signUpLoading: false,
signUpDone: false,
signUpError: null,
me: null,
signUpData: {},
loginData: {}
},
post: {
mainPosts: [ [Object] ],
imagePaths: [],
addPostLoading: false,
addPostDone: false,
addPostError: null
}
}
TypeError: Cannot read property 'Posts' of null
at UserProfile (webpack-internal:///./components/UserProfile.js:38:27)
at processChild (/Users/leehyunju/Documents/React/nicebook/node_modules/react-dom/cjs/react-dom-server.node.development.js:3353:14)
at resolve (/Users/leehyunju/Documents/React/nicebook/node_modules/react-dom/cjs/react-dom-server.node.development.js:3270:5)
at ReactDOMServerRenderer.render (/Users/leehyunju/Documents/React/nicebook/node_modules/react-dom/cjs/react-dom-server.node.development.js:3753:22)
at ReactDOMServerRenderer.read (/Users/leehyunju/Documents/React/nicebook/node_modules/react-dom/cjs/react-dom-server.node.development.js:3690:29)
at renderToString (/Users/leehyunju/Documents/React/nicebook/node_modules/react-dom/cjs/react-dom-server.node.development.js:4298:27)
at Object.renderPage (/Users/leehyunju/Documents/React/nicebook/node_modules/next/dist/next-server/server/render.js:54:851)
at Function.getInitialProps (webpack-internal:///./node_modules/next/dist/pages/_document.js:141:19)
at loadGetInitialProps (/Users/leehyunju/Documents/React/nicebook/node_modules/next/dist/next-server/lib/utils.js:5:101)
at renderToHTML (/Users/leehyunju/Documents/React/nicebook/node_modules/next/dist/next-server/server/render.js:54:1142)
at async /Users/leehyunju/Documents/React/nicebook/node_modules/next/dist/next-server/server/next-server.js:109:97
at async /Users/leehyunju/Documents/React/nicebook/node_modules/next/dist/next-server/server/next-server.js:102:142
at async DevServer.renderToHTMLWithComponents (/Users/leehyunju/Documents/React/nicebook/node_modules/next/dist/next-server/server/next-server.js:134:387)
at async DevServer.renderToHTML (/Users/leehyunju/Documents/React/nicebook/node_modules/next/dist/next-server/server/next-server.js:135:522)
at async DevServer.renderToHTML (/Users/leehyunju/Documents/React/nicebook/node_modules/next/dist/server/next-dev-server.js:34:578)
at async DevServer.render (/Users/leehyunju/Documents/React/nicebook/node_modules/next/dist/next-server/server/next-server.js:72:236)
---------------------------------------------
그리고 postCard에는 데이터들이 잘 불러와집니다. user와 post 비교도 해봤는데 어떤게 문제인지 잘 모르겠어요.. ㅠ-ㅠ
조현영
지식공유자2021.04.24
next_redux_wrapper_hydrate 액션이 ssr 시 데이터입니다. 보시면 me가 null입니다. 즉 ssr 시 로그인한 것으로 인식 못하는 현상인 것입니다.
leehyunju
질문자2021.04.28
안녕하세요 제로초님 ! 알려주신 방법대로 getServerSideProps 해줬는데 이와같은 에러가 발생합니다.
Server Error
Error: Error serializing `.initialState.post.mainPosts[0].content` returned from `getServerSideProps` in "/". Reason: `undefined` cannot be serialized as JSON. Please use `null` or omit this value all together.
또 데이터가 없다는 것 같은데요 ㅠ 리듀서도 잘 불러왔는데 이런 에러가 발생합니다..
getServerSideProps 어떻게 하는지 몰라서 서버사이드렌더링 목차에 강의 보면서 아래와 같은 코드로 getServerSideProps 해주었어요.
0
조현영
지식공유자2021.04.24
저는 지금 이해가 안 되는데 me가 없는데 어떻게 로그인창이 아니라 로그인 이후의 창이 뜨는지 모르겠습니다. 리덕스 데브툴즈에 me가 없는게 맞나요? 또는 me가 {} 이렇게 빈 객체인것 아닌가요? 데브툴에서 액션별로 me가 어떻게 바뀌는지 나옵니다. 그걸로 me를 분석해보세요.
답변 3