Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- 알고리즘
- 백준 11047 자바스크립트
- 백준 2503 typescript
- 백준 2503 javascript
- 백준 1449
- 백준 11047 타입스크립트
- 백준 1018 타입스크립트
- 백준 1018 자바스크립트
- 백준 1018 typescript
- 백준 1018 nodejs
- 백준 4796 nodejs
- 백준 1449 nodejs
- 백준 10448 javascript
- 백준 2503 nodejs
- 백준 4796 자바스크립트
- JavaScript
- 백준 1449 노드
- 백준 1449 타입스크립트
- 백준 11047 javascript
- 백준 1449 javascript
- 백준 1449 자바스크립트
- 백준 11047 typescript
- 백준 4796 캠핑
- 백준 4796 javascript
- 백준 4796 타입스크립트
- 백준 2503 자바스크립트
- 백준 2503 타입스크립트
- 백준 1018 javascript
- 백준 11047 nodejs
- CSS
Archives
- Today
- Total
POTATO THAT WANT TO BE HUMAN
[React] 리스트와 key 본문
반응형
리액트에서 key는 엘리먼트 리스트를 만들 때 포함해야 하는 특수한 문자열 어트리뷰트입니다.
🔑 key
key는 리액트가 어떤 항목을 변경, 추가 또는 삭제할지 식별하는 것을 돕습니다.
key는 엘리먼트에 안정적인 고유성을 부여하기 위해 배열 내부의 엘리먼트에 지정해야 합니다.
key를 선택하는 가장 좋은 방법은 리스트의 다른 항목들 사이에서 해당 항목을 고유하게 식별할 수 있는 문자열을 사용하는 것입니다. 대부분의 경우 데이터의 ID를 key로 사용합니다.
렌더링 한 항목에 대한 안정적인 ID가 없다면 최후의 수단으로 항목의 인덱스를 key로 사용할 수 있습니다.
항목의 순서가 바뀔 수 있는 경우 key에 인덱스를 사용하는 것은 권장하지 않습니다. 이로 인해 성능이 저하되거나 컴포넌트의 state와 관련된 문제가 발생할 수 있습니다. 리스트 항목에 명시적으로 key를 지정하지 않으면 리액트는 기본적으로 인덱스를 key로 사용합니다.
( map() 함수 내부에 있는 엘리먼트에 key를 넣어 주는 게 좋습니다. )
🔑 key는 형제 사이에서만 고유한 값이어야 한다.
key는 배열 안에서 형제 사이에서 고유해야 하고, 전체 범위에서 고유할 필요는 없습니다.
그렇기때문에 두 개의 다른 배열을 만들 때 동일한 key를 사용할 수 있습니다.
리액트에서 key는 힌트를 제공하지만 컴포넌트로 전달하지는 않습니다.
컴포넌트에서 key와 동일한 값이 필요하다면 다른 이름의 prop으로 명시적으로 전달해야합니다.
( props.key는 읽을 수 없습니다. )
반응형
'FRONTEND > React' 카테고리의 다른 글
[React] LiftCycle과 useEffect (0) | 2022.11.04 |
---|---|
[React]useCallback 과 useMemo 사용하기 (0) | 2022.10.06 |
[React] 리액트에서 쿼리스트링 값 가져오기 (useSearchParams) (0) | 2022.07.17 |
[React] child에서 parent의 함수로 event handler 등록하기 (0) | 2022.03.30 |
[React] React 시작하기 (0) | 2022.02.22 |
Comments