useState의 기본값이 null과 []일 때에 대해서
2921
작성한 질문수 8
이번 강의에서 useState를 사용하다가 문득 궁금증이 생겻습니다.
상품상세페이지를 구현한 코드에서 useState(null)로 기본값을 null을 주었습니다.
그런데 메인페이지를 구현한 코드에서 useState([])와 무슨 차이가 있을까 궁금해서 실습을 해봤습니다.
그 결과 이런 오류가 떴고 나름 혼자서 여러번 고민해 본 결과
---------------------------------------------------------
axios에서 통신을 하는 동시에 banners.map 처리를 하는 과정에서 banners가 기본값 null을 가지고 있는 상태기 때문에 map 메소드를 사용할 수 없다.
따라서 비동기 처리가 원인이고 banners의 기본값으로 빈 배열을 할당해 줘야 banners.map을 처리하는 과정에서 오류가 나지 않고 이후에 axios 통신이 끝나고 setBanners를 통해 새롭게 값을 받으면 컴포넌트가 다시 랜더링되어 클라이언트 화면에 보여지게 된다.
---------------------------------------------------------
이렇게 결론을 내봤는데 그랩 님 고견은 어떠신지..ㅜㅜ
완전 입문자라 구글링 해봐도 어려운 내용들이 많아서 저처럼 이런 기본적인 글은 없더라구요;;;
그랩 님 강의 잘 듣고 있습니다 감사합니다!
답변 1
1
좋은 고민을 하셨네요! 고민하신 내용이 일치합니다.
일반적으로 array 자료형은 map이라는 메소드를 사용할 수 있습니다. 하지만 int나 null 같은 다른 자료형에서는 사용이 불가능합니다. 3.map(...), null.map(...) 같이 사용하게 되면 에러가 나게 됩니다.
리액트 컴포넌트가 서버에 요청을 하게됐을 때 비동기 처리이기 때문에 기다리지 않고 렌더링을 이어서 하게 됩니다. 그때 null을 기본 값으로 넣어주면 에러가 나기 때문에 빈 배열 []을 넣어줘서 에러를 안나게 할 수 있는 겁니다~!!
[해결]그랩님 답변 주세요.
0
192
2
그랩님의 답변을 기다립니다/102강 전반적인 에러
0
165
2
[그랩님께]101강 안드로이드 에러들(Key prop)해결방법 궁금합니다.
0
139
2
[재질문][그랩님 답변 부탁드립니다]101강
0
163
2
[그랩님 답변 부탁드립니다]101강 Axios 에러와 502 Bad Gateway 질문
0
119
2
Ngrok 설치 후 forwarding Url 에러
0
148
2
[그랩님께,Ngrok 악성코드 인식 해결방법]질문 드립니다.
0
252
2
Ngrok 설치 후 forwarding Url로 연결 불가
0
158
1
그랩님,[꼭] 답변 부탁드립니다.
0
76
1
[꼭][[꼭] 그랩님, 답변 부탁드립니다], Failed to load resource: the server responded with a status of 404 (Not Found) 상품 상세 페이지 질문입니다.
0
162
1
6강/7강 수업
0
56
1
그랩님, 상품 상세 페이지 에러와 의문점 질문드립니다.
0
105
2
그랩님, 해결되지 않은 에러 메시지 [꼭] 답변 부탁 드립니다.
0
148
2
[재 질문]Cannot read properties of undefined (reading 'map') TypeError: Cannot read properties of undefined (reading 'map') 에러 해결 어떻게 하나요?
0
95
1
Cannot read properties of undefined (reading 'map') TypeError: Cannot read properties of undefined (reading 'map') 에러 해결 어떻게 하나요?
0
134
2
일반적인 css 꾸미기에서 width와 height의 값?
0
98
2
Windows에서의 업로드 후 홈화면 상품이미지 오류 해결방법
0
204
1
그랩마켓 웹화면 구현하기 -2 질문입니다.
0
127
1
react에 반영이 되지 않습니다.
0
251
1
터미널 npm install -g create-react-app 작성 후 오류
0
430
1
create-react-app my app 실행 시 에러
0
358
2
포스트맨 질문
0
105
1
<꼭 답변 부탁 드립니다>그랩선생님, [컴포넌트 사용하기] 강의에서 질문 있습니다.
0
269
2
그랩선생님, 질문 답변 부탁 드립니다.vscode에서 npm install -g create-react-app 입력 후 에러 입니다.
0
492
2





