Swiper.js 란 React, Vue, Angular, Svelte 등 다양한 프레임워크에서 이미지나 페이지의 슬라이딩 혹은 스와이핑을 역동적으로 사용할 수 있게 도와주는 라이브러리이다.
Instagram 클론코딩 中 PostDetail 페이지에 Navigation 기능을 이용한 이미지 슬라이더를 만들기 위한 라이브러리로 Swiper.js를 사용했다. 이를 최소한의 코드로 요약하여 적어보려한다.
// terminal
npm i swiper
// ImageSlider.js
import React from "react"; import { Swiper, SwiperSlide } from "swiper/react"; //Swiper 로 하위 SwiperSlide 컴포넌트들을 감싸준다. import "swiper/components/navigation/navigation.min.css"; // Swiper Module인 navigation의 css 를 가져온다. import "swiper/swiper.scss"; // 'npm i sass'를 통해 SASS를 설치한 후 scss를 가져온다. import SwiperCore, { Navigation } from "swiper/core"; SwiperCore.use([Navigation]); // Naviagtion 모듈을 사용하기 위해 SwiperCore를 가져와 설치해준다. function ImageSlider(props) { return ( <Swiper navigation={true}> <SwiperSlide>이미지1</SwiperSlide> <SwiperSlide>이미지2</SwiperSlide> <SwiperSlide>이미지3</SwiperSlide> </Swiper> ); } export default ImageSlider;
ImageSliding을 위한 라이브러리는 매우 다양하다.
ex) AntDesign 의 <Carousel>
: autoplay 등은 가능하지만 네비게이션 혹은 스와이핑 기능을 지원하지 않는다.
이에 반해 Swiper.js는
1.최소한의 props로 네비게이션 구현이 가능하여 간편하다.
2.이름에 걸맞게 Swiping 기능이 내재되어 모바일 환경에서 더욱 빛을 발한다.
3. Fade-Effect, 3D CSS Styling까지 가능하여 높은 확장성을 가지고 있다.