해결된 질문
작성
·
277
0
리액트에서 배열 사용하기 1-리스트 렌더링 강의에서 질문있습니다.
DiaryItem 컴포넌트에서 diaryList에있는 author, content.. 등 정보를 사용하려면 props 로 내려받아야 하는걸로 알고 있는데..
DiaryList 컴포넌트에서는 key 값만 적혀있는데 따로 map을 사용하면 props가 DiaryItem까지 전달되는건가요?
{diaryList.map((it) => (
<DiaryItem key={it.id}{...it} />
const DiaryItem = ({
author,
content,
created_data,
emotion,
id,
}) => {
return
}
import DiaryItem from "./DiaryItem";
const DiaryList = ({ diaryList }) => {
console.log(diaryList);
return (
<div className="DiaryList">
<h2> 일기 리스트</h2>
<h4>{diaryList.length}개의 일기가 있습니다.</h4>
<div>
{diaryList.map((it) => (
<DiaryItem key={it.id}{...it} />
))}
</div>
</div>
);
};
export default DiaryList;
답변 1
0
안녕하세요 이정환입니다.
아래 코드에서 {...it} 의 역할이 바로 it 이라는 객체에 저장된 모든 프로퍼티를 다 Props로 전달하는 역할입니다.
{diaryList.map((it) => (
<DiaryItem key={it.id}{...it} />
원래라면 <DiaryItem key={it.id} content={it.content} date={it.date} ... /> 이런식으로 하나 하나 일일이 객체에 들어있는 값을 전달해야 했겠지만 전개연산자 { ...it } 을 활용하면 한방에 다 보내줄 수 있습니다.
관련해서는 우리 강의의 Props 영상을 다시 참고해보시기 바랍니다.
또는 아래의 링크를 참고해보셔도 좋을 것 같아요 😃
https://reactjs.winterlood.com/c89cba30-39b6-4094-85f6-f87a16842028#0bcbea71f3ca47d4afa1b83b646087c8
감사합니다!! 이해되었씁니당.~~