map, key propFrontend/리액트 개발 꿀팁2021. 8. 1. 15:17
Table of Contents
map
- 리액트에서 동적인 배열을 렌더링 할 때는 내장함수 map()을 사용한다.
- 배열이 고정적이지 않고 배열의 인덱스를 하나씩 조회하면서 렌더링하는 동적인 방법에 map()을 사용한다는 의미이다.
- 리액트에서 동적인 배열을 렌더링해야 할 때는 map을 사용하여 일반 데이터 배열을 리액트 엘리먼트 요소로로 이루어진 배열로 변환해서 리턴해주면 된다.
import logo from './logo.svg';
import './App.css';
function App() {
const list = [1, 2, 3, 4, 5];
return (
<div className="App">
{list.map((item) => {
return(
<div>div 태그</div>
);
})}
</div>
);
}
export default App;
- 하지만 콘솔에 아래처럼 key라는 props가 없다고 나올 것이다.
- 리액트에서는 map을 사용해서 엘리먼트를
- 이를 해결하기 위해 map을 통해 엘리먼트를 리턴해서 렌더링할 때 key라는 변하지 않고, 예상 가능하며, 유일한 prop을 사용한다!
key
- 가장 간단한 방법은 map에서 리턴하는 리액트 요소에 map 함수의 콜백함수의 두번째 인자인 리스트의 index 값을 넘겨주는 것이다!
import logo from './logo.svg';
import './App.css';
function App() {
const list = [1, 2, 3, 4, 5];
return (
<div className="App">
{list.map((item, index) => {
return(
<div key={index}>div 태그</div>
);
})}
</div>
);
}
export default App;
key의 존재 이유
- 리렌더링을 하기 위해
- 이벤트를 처리하기 위해 - 이벤트 위임
key의 동작 원리
https://react.vlpt.us/basic/11-render-array.html
'Frontend > 리액트 개발 꿀팁' 카테고리의 다른 글
ESLint/Prettier 설정 (0) | 2022.06.13 |
---|---|
useState 주의사항 (0) | 2022.06.11 |
상태관리와 리덕스에 대해.. (0) | 2022.06.06 |
Yup + formik ⇨ form state 관리 validation 검증 (2) | 2021.09.09 |
formik (0) | 2021.09.08 |
@덕구공 :: Duck9s'
주니어 개발자에욤
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!