이미지를 배열로 저장하고싶은데 웹에 대해 배운 적도 없고 map을 사용하는 방법도 서툴러서 검색을 열심히 해봐도 어려웠다.
단순히 이미지 배열 쓰는 방법을 검색하니 아래 블로그와 같이 로컬 이미지 파일이 아니라
http형식으로 시작하는 url을 가져다가 사용하는 것이 대부분으로 올라와있는데,
저 방식으로 로컬 이미지를 불러오면 엑스박스가 떠서 여간 골칫거리가 아니었다.
하나하나 붙여넣을수도 없고,,,
https://velog.io/@pock11/React%EC%97%90%EC%84%9C-map-%EC%93%B0%EA%B8%B0
가장 도움이 되었던 글
하지만 역시나 엑스박스가 떴다.
https://ko.code-paper.com/javascript/examples-get-an-image-from-an-array-react
RstImage.js -> 배열에 사진 저장
import Rst_01 from "./RstImage/Rst_valley.png"
import Rst_02 from "./RstImage/Rst_home.png"
import Rst_03 from "./RstImage/Rst_hotel.png"
import Rst_04 from "./RstImage/Rst_pool.png"
import Rst_05 from "./RstImage/Rst_beach.png"
import Rst_06 from "./RstImage/Rst_food.png"
import Rst_07 from "./RstImage/Rst_picnic.png"
import Rst_08 from "./RstImage/Rst_car.png"
const RstImage = [
{ id: 1, src: Rst_01},
{ id: 2, src: Rst_02},
{ id: 3, src: Rst_03},
{ id: 4, src: Rst_04},
{ id: 5, src: Rst_05},
{ id: 6, src: Rst_06},
{ id: 7, src: Rst_07},
{ id: 8, src: Rst_08},
]
export default RstImage;
코드가 필요한 곳.js
<div>
{ RstImage.map((k) =>
<>
{k.id == rst ? (
<img key={k.id} src={k.src} alt={k.src} />
):(<></>)}
</>
)}
</div>
필요할 때 마다 바꾸기 위해 삼항연산자로 하나씩만 출력되도록 하였다.
엑스박스가 뜨지 않도록 하려면 alt가 꼭 필요
map 공부자료
'PROGRAMMING CODE > Web' 카테고리의 다른 글
[React] progress-bar (0) | 2022.11.14 |
---|---|
[React] 함수형 컴포넌트에서 데이터 전달 (props) (0) | 2022.11.14 |
[React] 리액트 프로젝트 핸드폰에서 실행하는 방법(Mac) (0) | 2022.09.22 |
[React] 폰트 적용하기 (0) | 2022.08.28 |
[REACT] 화면 비율에 맞춰 요소 조절하기 (0) | 2022.08.28 |