포스트

리액트 맛보기 4일차

안녕하세요 🐸 리액트 맛보기 4일차 입니다!

01. map()

리액트의 가장 큰 장점 중 하나는 바닐라 자바스크립트를 잘 활용할 수 있다는 것입니다. map() 은 자바스크립트에서 배열 객체에서 사용할 수 있는 메서드 입니다. map() 은 배열의 모든 객체에 대해 주어진 함수를 처리한 결과를 모은 새로운 배열을 반환합니다.

아래의 형태로 사용합니다.

배열.map((요소, 인덱스)=> 함수)

여기서 인덱스는 생략할 수 있습니다.

사용 예시

1
2
3
4
5
6
7
8
9
10
11
const array1 = [1,2,3,4,5];

// {}를 생략한 방식
const array2 = array1.map((x)=> x *2);

// {} 내에 return을 사용한 방식
const array3 = array1.map((x)=>{return x * 2});

// {} 대신 ()를 사용하여 단일 표현식을 쓰는 방식. return이 불필요
const arrya4 = array1.map((x)=>(x*2));

보통은 복잡한 로직이 있는게 아니라면 중괄호를 사용하지 않고 바로 사용하는 것이 편해 보입니다.

02. 배열을 사용하여 랜더링 하기

앞서 리액트는 자바스크립트의 문법을 사용할 수 있음을 공부했습니다. 그리고 map() 함수에 대해서도 공부했습니다. 리액트에서 이를 통해 배열의 값을 이용해 컴포넌트를 만들 수 있습니다. JSX 내에서 자바스크립트를 사용하기 위해서는 중괄호({}) 를 사용합니다.

사용 예시

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
function App(){

	const items = [
		{name : '철수',age : 5}
		,{name : '짱구',age : 5}
		,{name : '맹구',age : 5}
		,{name : '훈이',age : 5}
		,{name : '유리',age : 5}
		,{name : '나미리',age : 24}
		,{name : '권지옹',age : 48}
	]

	return(
		<div>
		{/* JSX 내에서 자바스크립트를 사용하기 위해 중괄호를 엽니다 */}
			{
				items.map((item,index) => (
				<div>
					<p>이름 : {item.name}</p>
					<p>나이 : {item.age}</p>
				</div>				
				))
			}
		</div>
	)
}

위의 방식을 통해 배열의 요소를 이용하여 손쉽게 원하는 객체를 만들 수 있습니다.

이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.