FrontEnd

[Carousel] 나만 알고 싶은 Carousel라이브러리(+react)

mingg123 2023. 4. 22. 17:58

1. mui-carousel

MUI + React로 프로젝트를 진행한다면 해당 라이브러리를 많이 사용할 것이다.

나도 썼었고 커스터마이징을 빡세게 하지 않을 경우 사용할 만 하다.

 

사용 예시 

 

yarn을 이용해 설치한다. 

yarn add react-material-ui-carousel

 

필요한 것들을 import 해준다.

import Carousel from "react-material-ui-carousel";

 

carousel 에 필요한 정보를 배열에 담고 사용한다. 

        
 const stepFourCarousel = [
    {
      title: "2004",
      url: step2Image8,
      desc: [
        "안전한 화장품을 위한 아로마티카의 시작",
        "No, 미네랄오일 & 실리콘 - 아로마테라피롤온, 마사지 오일 출시",
        "Free 파라벤 & 실리콘 - 로즈 스킨케어 라인 출시",
      ],
    },
    {
      title: "2005",
      url: step2Image9,
      desc: [
        "기업 부설 연구소 설립",
        "천연 방부제 특허 취득",
        "Free 실리콘 & 설페이트 - 샴푸 출시",
        "Free 합성향 - 페이셜 미스트 출시",
      ],
    },
    {
      title: "2010",
      url: step2Image10,
      desc: [
        "Free PEG & 페녹시에탄올 - 알로에 베라 젤 출시",
        "EWG Skindeep 전성분 등재",
      ],
    },
    {
      title: "2020",
      url: step2Image7,
      desc: [
        "100% PCR 용기 제품 출시",
        "국내 뷰티 브랜드 최초 리필 스테이션 오픈",
      ],
    },
  ];
	 <Carousel cycleNavigation={true} navButtonsAlwaysVisible={true}>
          {stepFourCarousel.map((content) => (
            <>
              <Typography variant="h3" color="#112b23">
                {content.title}
              </Typography>
              <img src={content.url} />
              {content.desc.map((description) => (
                <li>{description}</li>
              ))}
            </>
          ))}
        </Carousel>

 

 

2. react-responsive-carousel

우선 StoryBook이 너무 잘 만들어져있어서 놀랐다. 

http://react-responsive-carousel.js.org/storybook/?path=/story/01-basic--center-mode 

 

Storybook

 

react-responsive-carousel.js.org

 

 

스토리북 확인하면 종류도 굉장히 많다.

 

  • 세로 방향의 carousel
  • dynamic Height image
  • Laze Loaded
  • Youtube 자동 실행
  • 동적으로 넘길지 말지 컨트롤 할 수 있는carousel
  • Presentation Mode라고 해서 키보드로 넘기는 carousel

 

 

createMode라고해서 carousel을 넘기면서 선택한 이미지 뿐만 아니라

좌우로 넘기는 이미지 리스트를 보여주는 모드도 있고

이게 내가 필요한 부분이였다.

 

MUI-carousel로 커스터마이징 하기 좀 빡세다 느껴서 그냥 JS로 만들까 고민했는데

찾아보니 편한 라이브러가 있어서 사용해보려고 한다.

 

 

사용 예시 

 

yarn을 이용해 설치한다. 

yarn add react-responsive-carousel

 

필요한 것들을 import 해준다.

import "react-responsive-carousel/lib/styles/carousel.min.css"; // requires a loader
import { Carousel } from "react-responsive-carousel";

 

내가 원하는 옵션들을 넣어서 사용한다.

    	<Carousel
          showArrows={true}
          centerMode={true}
          centerSlidePercentage={30}
          showThumbs={false}
          showStatus={false}
          autoPlay={true}
          infiniteLoop={true}
        >
          {stepFourCarousel.map((content) => (
            <Stack mr={3}>
              <Typography variant="h3" color="#112b23" mb={10}>
                {content.title}
              </Typography>
              <img src={content.url} width={300} height={400} />
              {content.desc.map((description) => (
                <li>{description}</li>
              ))}
            </Stack>
          ))}
        </Carousel>

 

조금 더 수정이 필요하긴 한데 쓰기 좋다. 굳굳 

 

사실 어떤 라이브러리던 간에 개발하기 편하게 도와주는 거일 뿐

carousel 정도는 내가 JS+ CSS 로 스스로 구현할 줄 은 알아야 한다고 생각한다.