[해당 포스트는 개인적으로 공부를 하고 차후에 참고용으로 하고자 작성한 것입니다.
따라서 잘못된 부분이나 부족한 부분이 있을 수 있기에 참고하시기 바랍니다.]
React의 JSX 내부에선 for 구문을 이용할 수 없었다.
그렇다면 반복적으로 처리해야 하는 태그는 일일이 다 쳐줘야 하는 것일까?
여기서 사용하는 함수인 map이 존재한다.
문제
동물 3마리를 담는 배열 arr이 존재한다고 하자.
이 동물들을 웹에서 항목 표시(<li>)로 출력하고자 한다.
단, <li> 태그를 여러 번 입력하는 것이 아닌 반복 처리를 하여 출력시켜야 한다.
사용하는 방법은 간단하다.
배열.map( (value, key) => 처리문 )
let arr = ['호랑이', '코끼리', '독수리']
let brr = arr.map((value, key) => <li key = {key}>{value}</li>);
인자는 해당 배열의 Key와 Value를 받아온다.
처리문에서 사용할 문법을 작성하면 JSX에서 반복 처리가 가능하다.
전체 코드
import React, { Component } from 'react';
class App extends Component {
//JSX에 <li>를 여러번 적지않기 위해 다음과 같이 처리한다.
//각 <li> tag는 고유한 key를 설정해줘야 한다.
render() {
let arr = ['호랑이', '코끼리', '독수리']
let brr = arr.map((value, key) => <li key = {key}>{value}</li>);
return (
<div>
<ul>
{/* 리스트 생성 */}
{brr}
</ul>
</div>
);
}
}
export default App;
'React' 카테고리의 다른 글
[React] Route를 이용한 Component 전환 (0) | 2019.08.14 |
---|---|
[React] Sass[scss] 디자인 적용시키기 (0) | 2019.08.13 |
[React] props와 state를 활용한 예제 (1) | 2019.08.06 |
[React] Props vs State (0) | 2019.08.06 |
[React] 외부 Component 호출 및 함수 호출 (1) | 2019.08.06 |