[React] 카드 여러장 한번에 생성하기: Key, Value를 사용
2022. 8. 4. 23:00ㆍFront-end/React.js
반응형
JavaScript의 객체에 key와 value를 저장할 수도 있습니다. 이는 파이썬의 dictionary와 유사하며 이렇게 객체를 사용할 때의 장점은 다음과 같습니다.
1. key값을 알면 value를 바로 조회할 수 있습니다.
2. 배열보다 자료의 추가, 삭제가 쉽습니다.
만약 카드를 여러장 생성하여 이 각각의 카드에 key와 value값을 보여주어야 한다면 iterator로 읽어오면 됩니다.
const dog = [
[
"말티즈",
"https://cdn.pixabay.com/photo/2019/02/24/12/58/maltese-4017525_1280.jpg",
],
[
"시츄",
"https://cdn.pixabay.com/photo/2015/07/26/00/26/dog-860709_1280.jpg",
],
[
"푸들",
"https://cdn.pixabay.com/photo/2018/09/30/16/08/poodle-3713803_1280.jpg",
]
];
return (
<div className={styleType}>
{dog.map((src) => (
<div
key={src}
className={styles.card}
style={{
backgroundImage: `url(${src[1]})`,
}}
>
<div className={styles.cardText}>{src[0]}</div>
</div>
))}
</div>
);
객체 dog에는 강아지 이름이 key값으로, 강아지에 해당하는 사진의 URL이 value값으로 저장되어 있습니다.
dog.map()에 전달된 메소드에서 src가 iterator에 해당하며 src의 src[0]로 강아지 이름을, src[1]로 URL을 읽어올 수 있습니다.
src는 dog 내부의 원소들을 하나씩 읽어오며 className이 styles.card인 <div>를 생성하고 src[1]에 해당하는 이미지를 backgroundImage로 설정하며 src[0]에 해당하는 텍스트를 이미지에 오버레이 시킵니다.
그 결과는 다음과 같습니다.
반응형
'Front-end > React.js' 카테고리의 다른 글
[React] Node.js와 연동하기: 값 주고 받기 (0) | 2022.08.15 |
---|---|
[React] 페이지를 이동하면서 값 전달하기: useNavigate()와 useLocation() (0) | 2022.08.10 |
[React] 페이지의 URL을 설정하기: Route를 사용 (0) | 2022.08.09 |
[React] className이 겹칠 때: CSS Module로 해결하기 (0) | 2022.07.28 |
[React] 컴포넌트(Component)에 대해 알아보기 (0) | 2022.07.22 |