개발자

Do not use Array index in keys lint 에러

2022년 10월 11일조회 228

React로 dynamic list를 생성할 때 key 값으로 인덱스 값을 넣어줬는데 "Do not use Array index in keys"라는 linter 에러가 발생합니다. Linter를 끄기는 찝찝하고, 인덱스 외에는 딱히 사용하는 고유 id 값이 없는 상황인데 이런 경우에 보통 인덱스 지정을 어떻게 하시나요? 그리고 왜 인덱스 값을 key로 사용하면 안 되는지도 궁금합니다.

이 질문이 도움이 되었나요?
'추천해요' 버튼을 누르면 좋은 질문이 더 많은 사람에게 노출될 수 있어요. '보충이 필요해요' 버튼을 누르면 질문자에게 질문 내용 보충을 요청하는 알림이 가요.
profile picture
익명님의 질문

답변 1

이은재님의 프로필 사진

안녕하세요. 우선 인덱스 값을 key로 지정하면 안되는 이유는 아래글을 읽어보시는 걸 추천드립니다. https://blog.woolta.com/categories/1/posts/210 리액트 공식 문서에서 소개하고 있는 포스트도 참고하시면 좋을 것 같습니다. https://robinpokorny.medium.com/index-as-a-key-is-an-anti-pattern-e0349aece318 해결 방법은 이상적으로는 위의 글에서 소개하는 대로 공유한 id를 생성해주는 라이브러리 등을 사용하거나 자체적으로 인덱스보다 복잡한 key를 생성할 수 있도록 코드를 수정해주는 게 가장 좋겠지만, 단순히 린터 에러만 피하고 싶으시다면 'prefix-${index}'처럼 간단한 prefix를 추가로 작성해주는 방식으로 에러를 피할 수 있긴 합니다. 질문자님의 상황을 고려하셔서 적당한 방법을 선택하시면 될 것 같아요.

profile picture

익명

작성자

2022년 10월 12일

좋은 글 링크와 답변 모두 감사합니다.

지금 가입하면 모든 질문의 답변을 볼 수 있어요!

현직자들의 명쾌한 답변을 얻을 수 있어요.

또는

이미 회원이신가요?

목록으로
키워드로 질문 모아보기

실무, 커리어 고민이 있다면

새로운 질문 올리기

지금 가입하면 모든 질문의 답변을 볼 수 있어요!