React
[React] 배열 랜더링
channnnii
2022. 5. 9. 13:53
배열 랜더링
1. List.js를 생성하고 기본 폼을 만들어준다.
import React from 'react';
function User({user}){
return(
<div>
<b>{user.username}</b> <span>({user.email})</span>
</div>
);
}
export default List;
2. 배열 나타나게 해주기
import React from 'react';
function User({user}){
return(
<div>
<b>{user.username}</b> <span>({user.email})</span>
</div>
);
}
function List(){
const user = [
{
id: 1,
username: 'user01',
email: 'user01@email.com'
},
{
id: 2,
username: 'user02',
email: 'user02@email.com'
},
{
id: 3,
username: 'user03',
email: 'user03@email.com'
}
];
return (
<div>
<User.user={users[0]} />
<User.user={users[1]} />
<User.user={users[2]} />
</div>
);
}
export default List;
다음과 같은 결과 값이 나온다.
3. 배열의 랜더링을 하면 return 코드가 변경하게 된다.
return (
<div>
{user.map(user => (
<User user={user} key={user.id} />
))}
</div>
);
리액트에서 배열을 랜더링 할 때는 key라는 props를 설정해야 한다.
key값은 고유한 값으로 설정하여야 하며 위와 값은 경우에는 id가 key값이 될 수 있다.
만일 고유값이 없다면, key = {index}로 인덱스 값을 사용해 설정할 수 있다.
다음과 같은 결과 값이 나온다.
배열 활용하기
배열에 새로운 항목을 추가하는 코드를 만들어보기.
+ 추가하기 전, 코드
//List.js
import React from './react';
function User({user}) {
return(
<div>
<b>{user.username}</b> <span>({user.email})</span>
</div>
);
}
function List({users}){
return (
<div>
{user.map(user => (
<User user = {user} key={user.id} />
))}
</div>
);
}
export default List;
//App.js
import React, {useRef, useState} from './react';
import List from './List';
function App(){
return(
<div>
</div>
);
}