안녕하세요:) 개발자 우디입니다! 아래 내용 관련하여 작업 중이신 분들께 도움이되길 바라며 글을 공유하니 참고 부탁드립니다😊
(이번에 벨로그로 이사오면서 예전 글을 옮겨적었습니다. 이 점 양해 부탁드립니다!)
처음부터 자체적으로 구현하기
관련 라이브러리 활용하기
⇒ 리소스를 줄이기 위해 관련 라이브러리 찾아보는 것으로 결정!
사용법 관련 설명이나 Documentation이 잘 되어 있음.
설치 및 기본 사용법
yarn add react-slick
yarn add slick-carousel
import React from "react";
import Slider from "react-slick";
export default function SimpleSlider() {
var settings = {
dots: true,
infinite: true,
speed: 500,
slidesToShow: 1,
slidesToScroll: 1
};
return (
<Slider {...settings}>
<div>
<h3>1</h3>
</div>
<div>
<h3>2</h3>
</div>
<div>
<h3>3</h3>
</div>
<div>
<h3>4</h3>
</div>
<div>
<h3>5</h3>
</div>
<div>
<h3>6</h3>
</div>
</Slider>
);
}
실제 코드에 적용
const rightBannerSettings = {
dots: true,
infinite: true,
speed: 500,
slidesToShow: 1,
slidesToScroll: 1,
draggable: false,
autoplay: true,
// 다음 배너로 스크롤 간격 5초로 조정. 기존은 3초
autoplaySpeed: 5000,
beforeChange: (currentSlideIdx, nextSlideIdx) => {
this.changeTargetImageTitle(nextSlideIdx);
},
};
...
return (
<div
...
>
<div className="firstPageContainer">
...
<div className="firstPageMiddleContentsRightWrapper">
<Slider {...rightBannerSettings}>
{this.state.loading ? '' : this.getRightBannerContents()}
</Slider>
...
</div>
...
</div>
</div>
);
}
}
react-slick에 커스텀 스타일 적용하기
원래 이 라이브러리는 위의 이미지처럼 default 디자인이 자동으로 적용되는데, 이는 우리가 기획했던 디자인과는 차이가 큼
찾아보니 slick.css 와 slick-theme.css 두 파일에서 스타일이 적용되고 있었는데, 이 파일을 꺼내와서 수정함으로써 커스텀 디자인을 적용함