ํฐ์คํ ๋ฆฌ ๋ทฐ
[TIL] 2022/01/14 Fri - swiper.js ๋ก ๊ฐ๋จํ ๊ฐ๋ก ์ฌ๋ผ์ด๋ ๋ง๋ค๊ธฐ
zubetcha 2022. 1. 14. 22:52
Today I Learned
๐ swiper.js๋ก ๊ฐ๋จํ ๊ฐ๋ก ์ฌ๋ผ์ด๋ ๋ง๋ค๊ธฐ
๋ด๊ฐ ์์ ํ๊ณ ์๋ ์ฌ์ ํต๊ณ ํญ์ ๋จ์ด ๋ฑ๋ก์ ๋ง์ด ํ ์ ์ ๋ญํน์ด ๋ค์ด๊ฐ๋๋ฐ,
์ธ ๋ช ๊น์ง๋ง ๋์์ ์ธ๋ก๋ก ๋์ด๋๋ ๊ฒ ๋ณด๋ค๋ ๊ฐ๋ก๋ก ์์๋๋ก ๋ณด์ด๋ ๊ฒ ๋ชจ๋ฐ์ผ ํ๊ฒฝ์์ ๋ ์ข์ ๊ฒ ๊ฐ์๋ค.
onMouse ์ด๋ฒคํธ๋ก ์ด๋ ๊ฒ ์ ๋ ๊ฒ ํด๋ณด๋ค๊ฐ
์๊ฐ์ด ์์ด์ ๊ฒฐ๊ตญ ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ๊ธฐ๋ก ํ๋ค.
swiper.js๋ ์ด๋ฏธ ๋ค๋ฅธ ํ์ด์ง์์๋ ๋ง์ด ์ฌ์ฉ๋๊ณ ์์ด์ ์ค์นํ ํ์๋ ์์๊ณ ,
ํ์ํ ๊ฒ๋ง ์ปดํฌ๋ํธ์ import ํด์ ์ฌ์ฉํ๋ฉด ๋๋๋ฐ
๋๋ ํ์ด์ง๋ค์ด์ ๋, ๋ด๋น๊ฒ์ด์ ๋ ํ์ํ์ง ์๊ณ ๊ฐ๋จํ ๊ฐ๋ก ์ฌ๋ผ์ด๋๋ง ๊ตฌํํ ๊ฑฐ๋ผ์
Swiper์ SwiperSlide๋ง importํด์ ์ฌ์ฉํ๋ค.
/* DictStat.js */
/* ๋ผ์ด๋ธ๋ฌ๋ฆฌ import */
import { Swiper, SwiperSlide } from 'swiper/react'
import 'swiper/swiper.min.css'
/* ์ปดํฌ๋ํธ์์ ์ฌ๋ผ์ด๋ํ ๋ถ๋ถ */
const DictStat = (props) => {
return (
/* ์๋ต */
<StyledSwiper slidesPerView={2.16} spaceBetween={16} freeMode={true} lazy={true}>
{rankList &&
rankList.map((rank, index) => {
return (
<SwiperSlide key={`rank-${index}`}>
<OneRankCard rank={rank} index={index} />
</SwiperSlide>
)
})}
</StyledSwiper>
/* ์๋ต */
)
}
/* styled-component๋ก Swiper ์ปค์คํ
*/
const StyledSwiper = styled(Swiper)`
width: 100%;
height: fit-content;
padding: 16px;
background-color: #eee !important;
border-radius: 10px;
cursor: grabbing;
&::-webkit-scrollbar {
display: none;
}
.swiper-slide {
width: fit-content !important;
background-color: transparent !important;
}
`
export default DictStat
Swiper ์ SwiperSlide๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์์ ๊ธฐ๋ณธ์ ์ผ๋ก ์ค์ ํ๋ className๊ณผ ์์ฑ๋ค์ด ์๋๋ฐ,
๋ค๋ฅธ ์ปดํฌ๋ํธ์์๋ ์ฌ์ฉํ ๊ฒฝ์ฐ ๋์ ๋ณด์ด์ง ์๋ ๊ธฐ๋ณธ className์ด ๊ฐ์์ ์ถฉ๋์ด ์ผ์ด๋๊ธฐ๋ ํ๋ค.
๊ทธ๋์ ์ฌ๋งํด์ className์ ๋ณ๋๋ก ์ง์ ํ๊ฑฐ๋
์ ์ฉํ๋ ค๋ css ์์ฑ์ ๋ด๊ฐ ์์ฑํ ๊ฒ์ด ์ฐ์ ์ ์ผ๋ก ์ฐธ์กฐ๋ ์ ์๋๋ก ! important ๋ฅผ ํจ๊ป ์์ฑํด์ฃผ๋ ๊ฒ์ด ์ข๋ค.
swiper ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ์ฒ์ ์ฌ์ฉํด๋ดค๋๋ฐ,
์ฐพ์๋ณด๋ ํ์ด์ง๋ค์ด์ ์ด๋ ๋ด๋น๊ฒ์ด์ ์ ํ์ฉํด์ ์ฃผ๋ก ๋ฐฐ๋ ์ฌ๋ผ์ด๋๋ ์บ๋ฌ์ ์ด๋ฏธ์ง์ ๋ง์ด ์ฌ์ฉ๋๋ ๊ฒ ๊ฐ๋ค.
๊ณต์ ํํ์ด์ง์์ ์ฐพ์๋ณด๋ ์ ๊ณตํ๋ API๊ฐ ๋๋ฌด ๋ง์์ ์คํ๋ ค ํผ๋์ค๋ฌ์ ๋๋ฐ
์ ์ง ์์ผ๋ก๋ ์์ฃผ ์ฌ์ฉํ ๊ฒ ๊ฐ์์ ํ์ํ ๋๋ง๋ค ๊ตฌ๊ธ๋งํ๊ธฐ ๋ณด๋ค๋ ๊ณต์ ํํ์ด์ง์์ ์ฐพ์์ ํด๊ฒฐํ๋ ์ฐ์ต์ ํด์ผ๊ฒ ๋ค!
'what i learned > TIL' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[TIL] 2022/02/05 Sat - (0) | 2022.02.05 |
---|---|
[TIL] 2022/01/15 Sat - (2) | 2022.01.15 |
[TIL] 2022/01/13 Thu - react ์ฐจํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ recharts ์ฌ์ฉํด๋ณด๊ธฐ (0) | 2022.01.13 |
[TIL] 2022/01/12 Wed - React ์๋์์ ์๋ก ์ฌ๋ผ์ค๋ ๋ฐํ ํ์ , ์ฌ์ฌ์ฉ element ๋ง๋ค๊ธฐ (0) | 2022.01.12 |
[TIL] 2022/01/11 Tue - react-masonry-css ์ ์ฉ, Github Action ์๋๋ฐฐํฌ (0) | 2022.01.11 |