filter()
함수는 배열에서 주어진 조건에 맞는 요소들만 추출하여 새로운 배열을 생성하는 함수
React에서 이 함수를 사용하여 리스트를 렌더링할 때, 특정 조건에 맞는 항목만 보여주고 싶을 때 유용하게 사용
- 기본 문법
const newArray = array.filter((element) => {
// 조건을 반환하는 함수
return 조건;
});
- 예시
const UserList = () => {
// users 배열
const users = [
{ id: 1, name: 'Alice', age: 25 },
{ id: 2, name: 'Bob', age: 17 },
{ id: 3, name: 'Charlie', age: 22 },
{ id: 4, name: 'David', age: 16 },
];
// users중 18살 이상만 추출
const filteredUsers = users.filter(user => user.age >= 18);
// 반환 결과
return (
<div>
<h1>User List (18 and older)</h1>
<ul>
{filteredUsers.map(user => (
<li key={user.id}>
{user.name} (Age: {user.age})
</li>
))}
</ul>
</div>
);
};
// 하단 codepen.io 적용
// ReactDOM.render로 UserList 컴포넌트를 #root에 렌더링
ReactDOM.render(<UserList />, document.getElementById('root'));
객체는 각각 id라는 key값, 이름, 나이를 지니고 있다.
- 결과물
See the Pen Untitled by 유상현 (@ltfsrwdf-the-selector) on CodePen.
map()
React에서 배열을 순회하면서 각 요소를 변환하여 새로운 배열을 반환하는 함수
이를 이용하면 배열의 각 요소를 React 컴포넌트로 렌더링이 가능하다.
- 배열을 map()을 사용해 순회
- 각 요소를 JSX로 변환하여 반환
- 각 JSX 요소에 고유한 key 속성을 지정 이 key는 React가 각 항목을 추적하여 변경 사항을 효율적으로 업데이트하는 데 필요
- 예시
const TodoList = () => {
const todos = ["Learn React", "Build a project", "Practice daily"];
// key는 배열 전체
// todo는 배열 각각 총 3개
return (
<ul>
{todos.map((todo, index) => (
<li key={index}>{todo}</li>
))}
</ul>
);
};
// ReactDOM.render로 UserList 컴포넌트를 #root에 렌더링
ReactDOM.render(<TodoList />, document.getElementById('root'));
- 결과물
See the Pen Untitled by 유상현 (@ltfsrwdf-the-selector) on CodePen.
'React' 카테고리의 다른 글
| Redux - 편리한 상태관리 (0) | 2024.10.15 |
|---|---|
| React에서 CSS 적용하는 다양한 방법 (0) | 2024.10.14 |
| 조건부 렌더링 (0) | 2024.10.10 |
| 상태관리 State (0) | 2024.10.07 |
| Prop[properties : 속성] (0) | 2024.10.04 |