react map으로 리스트 렌더링

    

 React에서 리스트 요소를 반복적으로 그리려면 `map()` 함수를 사용하여 배열을 순회하고 각 요소에 대해 컴포넌트를 렌더링합니다. 예를 들어, 다음과 같은 JSON 배열이 있다고 가정해보겠습니다:


```json

[

  { "id": 1, "name": "Alice" },

  { "id": 2, "name": "Bob" },

  { "id": 3, "name": "Charlie" }

]

```


이 배열의 각 요소를 React 컴포넌트로 렌더링하는 방법을 예제 코드로 보여드리겠습니다.


### 예제 코드


```javascript

import React from 'react';


// 예제 데이터

const data = [

  { id: 1, name: 'Alice' },

  { id: 2, name: 'Bob' },

  { id: 3, name: 'Charlie' }

];


// 리스트 아이템 컴포넌트

const ListItem = ({ item }) => (

  <li key={item.id}>

    {item.name}

  </li>

);


// 메인 컴포넌트

const ListComponent = () => {

  return (

    <ul>

      {data.map(item => (

        <ListItem key={item.id} item={item} />

      ))}

    </ul>

  );

};


export default ListComponent;

```


### 설명

1. **데이터 준비**: 렌더링할 데이터를 배열 형태로 준비합니다.

2. **리스트 아이템 컴포넌트 (`ListItem`)**: 각 리스트 아이템을 렌더링하는 컴포넌트를 만듭니다. `key` 속성은 React가 각 아이템을 고유하게 식별하는 데 사용됩니다.

3. **메인 컴포넌트 (`ListComponent`)**: 배열의 각 요소에 대해 `map()` 함수를 사용하여 `ListItem` 컴포넌트를 생성하고, 이를 `<ul>` 태그 내에 렌더링합니다.


### 주의사항

- **Key Prop**: `key` 속성은 각 요소가 고유하게 식별될 수 있도록 설정해야 합니다. 이는 React가 리스트를 효율적으로 업데이트하는 데 도움을 줍니다. 일반적으로 데이터베이스의 고유 ID나 배열 인덱스를 사용합니다.

- **컴포넌트 분리**: 코드의 가독성과 재사용성을 높이기 위해 리스트 아이템을 별도의 컴포넌트로 분리하는 것이 좋습니다.


### 결과

위 코드를 사용하면 `data` 배열의 각 요소가 `<ul>` 내에 `<li>` 태그로 렌더링됩니다.


이 방법을 사용하면 React에서 리스트를 효율적으로 렌더링할 수 있습니다.

댓글

이 블로그의 인기 게시물

js 스트링에서 요소 갯수 세기

STUDY

javascript cheatsheet