라이브러리
[Swiper & React] Swiper로 화면 밖에 navigation 만드는 방법
개발조각
2023. 9. 10. 22:45
728x90
반응형
만들고 싶은 슬라이드
문제점
앞서 작성한 pagination과 같이 swiper의 hidden 때문에
swiper옵션으로 navigation을 적용하고 navigation을 밖으로 빼서 사용하면 navigation이 안 보이는 현상이 발생한다.
<>
<Swiper navigation={true} modules={[Navigation]} className="mySwiper">
<SwiperSlide>Slide 1</SwiperSlide>
<SwiperSlide>Slide 2</SwiperSlide>
<SwiperSlide>Slide 3</SwiperSlide>
<SwiperSlide>Slide 4</SwiperSlide>
<SwiperSlide>Slide 5</SwiperSlide>
<SwiperSlide>Slide 6</SwiperSlide>
<SwiperSlide>Slide 7</SwiperSlide>
<SwiperSlide>Slide 8</SwiperSlide>
<SwiperSlide>Slide 9</SwiperSlide>
</Swiper>
</>
해결방안
import React, { useRef, useState } from 'react';
// Import Swiper React components
import { Swiper, SwiperSlide } from 'swiper/react';
// Import Swiper styles
import 'swiper/css';
import 'swiper/css/navigation';
import './styles.css';
// import required modules
import { Navigation } from 'swiper/modules';
export default function App() {
const [swiper, setSwiper] = useState(null);
return (
<>
<div className="navigation-btn-wrap">
<button onClick={() => swiper.slidePrev()}>{icon.navigationPrev}</button>
<button onClick={() => swiper.slideNext()}>{icon.navigationNext}</button>
</div>
<div>
<Swiper //
navigation={true}
modules={[Navigation]}
onBeforeInit={(swipper) => setSwiper(swipper)}
className="mySwiper"
>
<SwiperSlide>Slide 1</SwiperSlide>
<SwiperSlide>Slide 2</SwiperSlide>
<SwiperSlide>Slide 3</SwiperSlide>
<SwiperSlide>Slide 4</SwiperSlide>
</Swiper>
<div>
</>
);
}
onBeforeInit : 초기화 직후 이벤트가 시작됩니다.
참고 자료
Swiper Navigator(화살표) 바깥으로 빼기
프로젝트 KKu-Woon을 진행하며 유저 리스트를 carousel 형식으로 구현해야 상황이 있었습니다. 프로젝트 기간이 여유롭지 않고, 캐러셀은 라이브러리로 잘 만들어져 있기 때문에 오픈 소스를 사용하
hoime.tistory.com
728x90
반응형