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에서 리스트를 효율적으로 렌더링할 수 있습니다.
댓글
댓글 쓰기