codestates / codestates/GongJang
Server Error Handling : redux-persist 사용 시 서버 에러 해결 주의사항
- Dominant language
- JavaScript
- Stars
- 0
- Forks
- 2
- PR merge metrics
- No merged PRs in 30d
Description
## 어떤 에러인가요?
- 클라이언트(리액트) 실행 시 메인페이지에서 `posts.map is not function` 에러 발생
## 에러 메시지
`posts.map is not function`
## 에러 핸들링 방법
- 해당 에러는 리액트를 공부하면서 자주 접했었기 때문에 원인을 특정 지을 수 있었음
- 첫 번째, 리액트에서 받는 posts라는 변수의 타입이 배열(Array)가 아닌 경우
메인 페이지에서의 요청은 모든 게시글을 조회하는 GET 요청 하나 뿐 이었기 때문에 해당 요청에 대해 서버의 응답 형식을 확인함
단순히 배열형태로 데이터를 보내주는 것이 아니라, 응답 데이터 안에 'data'라는 속성을 지정해주고 배열 데이터를 보내주는 것 확인함
이것이 원인이라 생각하고, 수정 했으나 문제가 해결되지 않음.
- 두 번째, posts로 받는 서버의 응답이 없어 undefined인 경우
응답을 받는 과정에서 뭔가 에러가 발생 해서 아예 응답 데이터를 받지 못하는 경우인데, 서버에서 충돌 로그가 발생하지 않음.
개발자 도구에서 네트워크탭을 확인해봐도, 서버에서 정상적으로 데이터가 들어오는 것 확인
- 위 2가지 경우에서 에러가 해결되지 않아, 새로 추가한 모듈인 Multer를 적용하는 과정에서 에러가 발생한 건가 원인을 찾아봄.
- 클라이언트 분들의 도움으로 redux-persist가 원인이 될 수 있다는 것을 알게 됨.
- redux-persist는 로컬 스토리지에 상태값을 저장하기에 코드를 수정하여 에러의 원인은 해결 되었어도, 상태 데이터가 남아 에러를 발생시킬 수 있다는 것을 알게 됨
- 로컬 스토리지 삭제하니 문제가 해결됨.
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.