
배열의 key 값으로 index를 사용하여 렌더링했을 때, React에서 경고가 발생하며 빌드가 실패함.
Error: Do not use Array index in keys react/no-array-index-key
React는 각 요소의 변경을 추적하기 위해 key 값을 사용하는데, index를 key로 사용하면 요소의 순서가 변경될 때 불필요한 리렌더링이 발생할 가능성이 있음.
이는 특히 드래그 앤 드롭, 필터링, 정렬 등 리스트의 순서가 바뀔 수 있는 경우에 문제가 될 수 있음.
crypto.randomUUID() 사용하여 key 값 생성
TypeError: crypto.randomUUID is not a function
getRandomId() 함수로 key 값 생성
👉 직접 랜덤 문자열을 생성하는 함수를 만들어 key 값으로 활용
const getRandomId = () => {
let keyValue = '';
const characters =
'0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
const keyLength = 16;
for (let i = 0; i < keyLength; i += 1) {
const idx = Math.floor(Math.random() * characters.length);
keyValue += characters[idx];
}
return keyValue;
};
export default getRandomId;
✅ React의 key 관련 경고 해결 → index 대신 고유한 key를 사용하여 불필요한 리렌더링 방지
✅ 모바일 환경에서도 정상 동작 → crypto.randomUUID() 미지원 문제 해결
✅ 동일한 컴포넌트가 여러 번 렌더링될 때도 고유 ID 유지 → 예상치 못한 UI 변경 방지