<section>
<ul className="flex flex-col">
{dummyPlaylistArray.map((playlist) => {
return (
<PlayListNav key={playlist.id} playlist={playlist}></PlayListNav>
);
})}
</ul>
</section>
Key 속성 제공 이유
react 에서 map을 순회하여 컴포넌트를 랜더링 할 때 key값을 넘겨야 하는 이유
성능최적화
key는 React가 엘리먼트를 식별하는 데 사용됩니다. key를 제공하면 React가 각 항목을 고유하게 식별하고 변경된 요소만 다시 렌더링할 수 있습니다. 이렇게 하면 React가 전체 목록을 다시 렌더링하는 대신 변경된 요소만 업데이트하므로 성능이 향상됩니다.
상태 유지
key를 제공하지 않으면 React는 컴포넌트를 재사용하거나 갱신하지 않고 새로운 요소로 인식합니다. 따라서 컴포넌트의 상태가 보존되지 않고 다시 생성될 수 있습니다. 이는 사용자 입력에 따라 상태를 잃어버리거나 불필요하게 컴포넌트를 다시 렌더링할 수 있습니다.
독립적인 엘리먼트
각 엘리먼트에 고유한 key를 제공하면 React가 이를 독립적인 요소로 취급합니다. 이는 컴포넌트에 대한 식별자로 사용되므로 React가 정확히 어떤 요소가 변경되었는지 파악할 수 있습니다.
따라서 React에서 map을 사용하여 동적으로 컴포넌트를 생성할 때는 각 컴포넌트에 고유한 key를 제공하여 성능을 최적화하고 상태를 유지하는 것이 중요합니다.
'Frontend > React.js' 카테고리의 다른 글
[TypeScrip.js] alt 속성에 대하여 (0) | 2024.06.17 |
---|---|
[React.js] 페이지 라우팅 (0) | 2024.06.12 |
[React.js] Context (1) | 2024.06.12 |
[React.js] 최적화 (1) | 2024.06.12 |
[React.js] 라이프 사이클 (0) | 2024.06.11 |