A
리액트는 key를 통해 리스트에서 어떤 요소가 변경, 추가, 삭제 되었는 지를 추적합니다.
따라서 key값이 달라지면 새로운 요소로 인식하여 불필요한 리렌더링이 발생할 수 있습니다.
만약 index로 key값을 설정하면, 리스트 중간 요소를 제거하거나, 리스트 요소의 순서가 변경될 때 등과같은 상황에서 잘못된 렌더링이 발생할 수 있습니다.
따라서 key는 db id와 같은 고유한 값이나 item.title과 같은 속성들을 결합해 유니크한 값을 사용합니다.
또한 uuid나 Math.random과 같이 동적으로 id를 생성하는 것도 렌더링 간 key가 일치하지 않아 부적합합니다.
참고자료
[React] 배열의 index를 key로 쓰면 안되는 이유
React 공식 Document를 보다가 아래 노란색으로 캡쳐한 부분을 보게 되었고 확인한 사항들을 정리합니다.
medium.com
'🐠 FrontEnd > CS' 카테고리의 다른 글
자바스크립트는 싱글 스레드 언어인데, 어떻게 동시에 여러 작업들을 수행하나요? (0) | 2025.02.04 |
---|---|
Promise의 resolve()와 fulfilled에 대해서 (0) | 2025.02.01 |
프론트엔드 모의면접 질문 정리 (0) | 2024.08.01 |
[CS] 개발하며 한번쯤은 만나는 CORS 오류 원인과 해결 방법 정리 (0) | 2024.07.25 |