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

김학준님의 프로필 이미지
김학준

작성한 질문수

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

게시글 구현하기

데이터 전달에 관하여~!

작성

·

232

0

초기에 데이터를 받아올때 아래와 같은 경우가 있을때 하위컴포넌트에서 post.comment.id 라는 값을 사용한다고 했을때 데이터를 받아오는 중에는 post 초기값이 빈배열이라서 post.comment.id 값이 id 값이라서 undefined 값이 뜨는 경우가 있는데 이때 1. post 값을 받아오기 전까지 아예 컴포넌트를 랜더링을 막아야하는지 2. 혹은 post.comment? 와 같이 옵셔널 체이닝을 다 걸어줘여하는지 3. 아니면 post 의 초기값을 comment 깊이까지 정의해줘야하는지 궁금합니다. 어떤방법이 좋을까요?...

posts : [ {
    id: 1,
    title: 2,
    comment: []
}, {
    id: 1,
    title: 2,
    comment: []
}
1.page
posts.map((post) => (<Component key={post.id} post={post}>))

2.Component
<test>{post.comment.id}<test/>

답변 3

1

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

빈배열은 그 자체로 데이터가 없다는 것을 나타내기 때문입니다. length를 쓸 때도 바로 0이 나오니 편리합니다.

1

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

옵셔널 체이닝 걸어주시는 것을 추천드립니다. 초깃값은 빈배열로 놔두는 게 좋습니다.

로딩을 안 보여줘도된다면 렌더링 막으시는 것도 좋습니다.

0

김학준님의 프로필 이미지
김학준
질문자

아 혹시 그럼 빈배열로 놔두는게 좋은 이유가 있을까요 ?

김학준님의 프로필 이미지
김학준

작성한 질문수

질문하기