리액트로 프로젝트를 여러번 했지만, 리액트가 바라는 방식으로 제대로 잘 사용하고 있는지
React 학습 부분에서 UI표현하기 주제를 다루고 있습니다.
리액트에서 props의 기본값을 설정하는 것은 매우 유용합니다.
특히 여러 곳에서 재사용되는 컴포넌트가 있을 때, 예를 들어 name이라는 prop을 넘겨받아 대부분의 사용처에서 같은 값을 사용하고, 소수의 경우에만 다른 값을 사용해야 한다면 기본값 설정이 매우 유용할 수 있습니다.
(모든 props를 자식 컴포넌트에 전달)
function Profile({ person, size, isSepia, thickBorder }) {
return (
<div className="card">
<Avatar
person={person}
size={size}
isSepia={isSepia}
thickBorder={thickBorder}
/>
</div>
);
}
위 코드는 가독성을 높일 수 있지만, 아래의 코드를 사용할 때 간결함을 가져갈 수 있습니다.
function Profile(props) {
return (
<div className="card">
<Avatar {...props} />
</div>
);
}
React를 사용하면 배열 데이터를 map을 이용해 렌더링하는 경우가 자주 발생합니다. 이때, 반드시 key라는 프로퍼티를 사용해야 합니다. key를 사용하는 이유와 규칙을 이해하는 것이 중요합니다.
key는 React가 각 컴포넌트가 어떤 배열 항목에 해당하는지 추적하고, 나중에 일치시킬 수 있도록 도와줍니다. 이는 배열 항목이 정렬되거나, 이동되거나, 삽입되거나, 삭제될 때 특히 중요합니다. 적절한 key를 선택하면 React가 DOM 트리를 올바르게 업데이트하고, 효율적으로 리렌더링할 수 있습니다.
리스트를 컴포넌트로 변환할 때, 특정 아이디를 나타내는 데이터가 없을 때, 인덱스를 key로 사용하는 경우가 있습니다. 하지만 이는 권장되지 않습니다.
사실 저도 귀찮아서 많이 사용했습니다 ㅠ
리스트 렌더링 시 key를 올바르게 사용하는 것은 성능 최적화와 버그 방지에 매우 중요합니다.