Swiper useSwiper()훅
useSwiper()훅은 Swiper 컴포넌트 내부에서 사용할 수 있는 훅으로, Swiper에 관련된 메서드를 제공합니다. 그런데 Swiper 컴포넌트 외부에서는 어떻게 불러올 수 있을까요?
기존 Swiper 컴포넌트 내부에서 사용하는 방법
아래 코드와 같이 버튼 컴포넌트를 하나 만듭니다.
컴포넌트 내부에 useSwiper()훅을 불러와 메서드를 사용한 다음, 버튼 컴포넌트를 Swiper 컴포넌트 내부에 불러옵니다.
import { useSwiper } from "swiper/react";
export default function SlideNextButton() {
const swiper = useSwiper();
return (
<button onClick={() => swiper.slideNext()}>Slide to the next slide</button>
);
}
Swiper 컴포넌트 외부에서 사용하는 방법
useRef()훅을 이용하여, Swiper내부를 가리킬 수 있게 만듭니다.
onSwiper 메서드를 이용하여 Swiper가 마운트 될 때 실행 될 수 있게 만듭니다.
// Import Swiper styles
import "swiper/css";
import "./styles.css";
export default function App() {
const swiperRef = useRef();
return (
<>
<Swiper
onSwiper={(swiper) => {
swiperRef.current = swiper;
}}
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>
<button onClick={() => swiperRef.current.slideNext()}>
Go to Next Slide
</button>
</>
);
}
위의 글을 참고했습니다
'Front End > React' 카테고리의 다른 글
[React] SWR이 무엇인가요? (1) | 2023.11.24 |
---|---|
[React] State가 변경 되었는데, 재 렌더링이 안된다면? (1) | 2023.11.18 |
React 에서 Swiper.js를 이용하여 캐러셀 Carousel 만들기 TS JS (0) | 2023.06.23 |
React 에서 setInterval 사용하는 법 리액트 JS TS (0) | 2023.06.23 |
React 에서 setInterval, timer 사용하는 법 리액트 JS TS (0) | 2023.06.22 |