Key props
2026년 5월 17일
-
리액트(React)에서 요소의 배열(Array)(리스트)를 나열할 때는 key를 넣어주어야 한다.
-
key는 리액트(React)가 변경, 추가 또는 제거된 항목을 식별하는데 도움이 된다.
-
요소에 안정적인 ID를 부여하려면 배열(Array) 내부 요소에 key를 제공해야 한다.
-
주로 map() 메서드(Method)에서 많이 쓰인다.
CRP(Critical Rendering Path)의 재조정(reconciliation)을 위해 사용
- Virtual DOM을 이용해서 바뀐 부분만 실제 DOM(Document Object Model)에 적용하기 때문에 key를 이용해서 어떤한 부분이 바뀌었는지 인식할 수 있다.

- 예를 들어 아래 코드에서 3번을 1, 2번 뒤에 추가할 때는 리액트(React)가 3번만 추가하면 된다고 안다.
JSX
- 아래 코드와 같이 3번을 1, 2번 앞에 추가할 때는 리액트(React)가 모든 요소가 새롭게 된거라 인식하고 모든 자식 엘리먼트를 새롭게 그려버린다.
- 이 경우 key를 추가해서 1, 2번을 새롭게 그리는 것이 아닌 3번을 추가 후 1, 2번은 자리만 이동해준다.
JSX
- 위와 같은 경우에 map()의 두 번째 매개변수(parameter)인 index를 key로 사용하면 key의 대한 value가 변하게 된다.
- 따라서 index를 key로 사용하는 경우는 권장되지 않는다.
예시
- key값을 설정할 때는 map()의 인자로 전달되는 함수(Function) 내부에서 컴포넌트(Component) props를 선정하듯이 설정하면 된다.
- key값은 언제나 유일(unique)해야 한다.
JSX
- 하지만 위의 예시처럼 교유 번호(id)가 없을 때에는 map 함수에 전달되는 콜백 함수의 인수인 index 값을 사용하면 된다.
JSX