웹(web)/프론트엔드-react
리액트에서 배열 데이터를 화면에 출력하는 방법
바코94
2020. 7. 4. 01:32
사람에 대한 이메일 정보가 여러 개 등록되어있다고 하면 javascript을 이용하여 객체를 만들고 반복문으로 객체를 만드는 작업을 해야했다. 리액트에서는 더 쉽고 간편하다. 다음과 같은 데이터가 있고 화면에 아래와 같이 나타내고 싶다.
const users = [
{id:1,username:'bob',email:'bob@gmail.com' },
{id:2,username:'aoa',email:'aoa@gmail.com' },
{id:3,username:'bob',email:'coc@gmail.com' }
];
function User({ user }) {
return (
<div>
{user.username} ({user.email})
</div>
);
}
function UserList({ users }) {
return (
<div>
{users.map(user => (
<User user={user} />
))}
</div>
);
}
1. user 객체를 받아서 이름과 이메일을 가지는 div 객체를 만들어준다.
function User({ user }) {
return (
<div>
{user.username} ({user.email})
</div>
);
}
2. users에는 사람별 데이터를 props로 받아온다.
3. javascript의 map을 사용하여 배열을 순차적으로 진행하며 액션을 취한다. <User user={user} /> 을 통하여 User 컴포넌트를 만들 때 props로 user하나를 넘겨준다.
users.map(user => <User user={user} />);