\(@^0^@)/

[Error] Unhandled Rejection (TypeError): Cannot read properties of undefined 본문

에러노트

[Error] Unhandled Rejection (TypeError): Cannot read properties of undefined

minjuuu 2021. 12. 13. 00:41
728x90

 

메인 페이지(posts)와 디테일 페이지(postdetail)의 북마크 기능을 구현할 때,
리덕스에서 공동으로 관리 해주어야 페이지를 왔다 갔다 하면서 렌더 해도 오류가 발생하지 않는데,
내가 메인페이지 state인 posts와 디테일 페이지 state인 postdetail을 동시에 바꾸려고 시도해서 오류가 발생.


 


postdetail은 인덱스를 찾을 필요가 없다.
왜냐하면, postdetail은 posts의 하위 페이지 이며,
항상 0번째 인덱스로 하나만 들어오기 때문에.

 

 

 


서버에 값을 넘겨줄 때,
api를 확인하면 서버에서는 postId와 Token만 필요하지만,
리덕스를 관리하기 위해서 path도 같이 넘겨준다.

( 그때 return에 담긴 데이터가 action안에 들어가는 것 )






그렇게 하면, 디스패치를 받아 함수를 액션 했을 경우
메인 페이지와 디테일 페이지를 구분하기 위해서
action에서 각 페이지에 내려준 path 값을 확인할 수 있음.
( posts => main , postdetail => detail을 받아옴 )




 

 




리듀서에 조건을 걸어서
만약 메인 페이지 라면 (path가 main이면) 액션을 생성했을 때 posts 안의 isPostSaved를 불러오고,
그렇지 않다면 (path가 detail이라면) postDetail의 isPostSaved를 불러와라.

 

이렇게 수정하였더니 작동 잘 됨.
나머지 좋아요, 댓글 부분도 이런 식으로 구현하면 제대로 작동할 것 같음.
수임님이 도와주심 감사해요 ㄟ(≧◇≦)ㄏ 취뽀! 파이팅!

728x90

'에러노트' 카테고리의 다른 글

TypeScript : Cannot find name 'console' Error  (0) 2022.08.02
TypeScript : Uncaught ReferenceError: exports is not defined  (0) 2022.03.10
prettier 에러날 때  (0) 2022.02.19
Git push error  (0) 2021.10.15