일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- JavaScript
- 리액트
- useState
- Java
- 코틀린
- design pattern
- react firebase
- 자바스크립트
- 코딩테스트 고득점 Kit
- 자바 공부
- 데이터모델링과마이닝
- 코딩테스트 고득점 Kit 완전탐색
- 디자인 패턴
- 프로그래머스 완전탐색
- 컴퓨터 네트워크
- 백준
- useEffect
- 프로그래밍 언어론
- vanillaJS
- react hook
- NextJS
- codesandbox
- React JS
- react
- 리액트 훅
- 자바
- 프로그래머스
- 프로그래머스 자바
- 장고
- websocket
Archives
- Today
- Total
기록하는 개발자
[NextJs] NextJs에 Swiper 적용하기 본문
728x90
NextJs+Typescript 환경에서 Swiper를 사용해보자!
https://mingmeng030.tistory.com/270
설치
https://swiperjs.com/get-started
npm install swiper
yarn add swiper
import
import { Swiper, SwiperSlide } from "swiper/react";
import SwiperCore, { Navigation, Scrollbar, A11y } from "swiper";
import "swiper/css";
import "swiper/css/navigation";
import "swiper/css/scrollbar";
Swiper component 작성
import { useRef } from "react";
// 사용할 모듈 import
import { Swiper, SwiperSlide } from "swiper/react";
import SwiperCore, { Navigation, Scrollbar } from "swiper";
// 최신 버전인 경우
import "swiper/css";
import "swiper/css/navigation";
import "swiper/css/scrollbar";
// 구 버전인 경우
import 'swiper/swiper.min.css';
import 'swiper/components/navigation/navigation.min.css';
import 'swiper/components/scrollbar/scrollbar.min.css';
import * as type from "./types";
export default function MovieSwiper({
dataList,
spaceBetween,
slidesPerView,
}: type.MovieSwiperProps) {
SwiperCore.use([Navigation]);
const swiperRef = useRef<SwiperCore>();
return (
<div>
<Swiper
onSwiper={(swiper) => {
swiperRef.current = swiper;
}}
modules={[Navigation, Scrollbar]} //사용할 모듈
spaceBetween={spaceBetween} // 슬라이드 간격
slidesPerView={slidesPerView} // 화면에 보여줄 슬라이드 갯수
loop={true} //슬라이드 무한 반복 여부
autoplay={false} //슬라이드 자동 재생 여부
navigation // prev, next button 적용
scrollbar={{ draggable: true }}
>
{dataList?.map((item, i) => {
return (
<SwiperSlide>
<Link href={{...}}>
<img src={"..."} />
</Link>
</SwiperSlide>
);
})}
</Swiper>
</div>
);
}
Swiper component를 적용한 Home component
import MovieSwiper from "../components/MovieSwiper";
import * as type from "./types";
export default function Home({...}: type.homeProps) {
...
return (
<div>
<MovieSwiper
dataList={list1}
title={title1}
spaceBetween={0}
slidesPerView={6}
></MovieSwiper>
<MovieSwiper
dataList={list2}
title={title2}
spaceBetween={0}
slidesPerView={6}
></MovieSwiper>
</div>
);
}
swiper button 변경
- nextJs는 global.css에 작성해주면 잘 적용된다.
.swiper-button-next::after,
.swiper-button-prev::after {
display: none;
}
.swiper-button-prev {
background: url(변경할 화살표 이미지) no-repeat;
}
.swiper-button-next {
background: url(변경할 화살표 이미지) no-repeat;
}'
//투명도 및 크기 조정
.swiper-button-prev,
.swiper-button-next {
opacity: 0.7;
background-size: 70% auto;
background-position: center;
}
적용 화면
728x90
'Web > NextJs' 카테고리의 다른 글
[NextJs] TailwindCss component (1) | 2023.05.11 |
---|---|
[NextJs] NextJs에 TailwindCss 적용 하기 (1) | 2023.05.11 |
[NextJs] getStaticProps와 getServerSideProps (0) | 2023.05.09 |
[NextJs] next.config.js 의 redirects와 rewrites (0) | 2023.05.09 |
[NextJs] Routing과 navigation (0) | 2023.05.09 |