1.0.2 • Published 1 month ago
js-swiper v1.0.2
Swiper
Beautiful swiper for React
Demo
Install
npm install js-swiper
Usage
For general
import {JSSwiper} from 'js-swiper'
import {JSSwiperData} from 'js-swiper/dist/cjs/src/lib/JSSwiper'
...
const stateEl = useRef<HTMLButtonElement>(null)
const itemList: JSSwiperData[] = [
{order: 1, image: '/image8.png'},
{order: 2, image: '/image9.png'},
{order: 3, image: '/image10.png'},
]
...
<JSSwiper
items={itemList}
stateButton={stateEl.current}
duration={200}
interval={5000}
onChangeItem={console.log}
onChangeState={console.log}
/>
<button ref={stateEl}>Toggle State</button>
For React development environment
This feature is for About useEffect called twice issue in React 18
<JSSwiper
...
startEffect="useEffectOnce"
/>
or
const useEffectOnce = (callback: React.EffectCallback, dependencyList: React.DependencyList | undefined) => {
...
}
...
<JSSwiper
...
startEffect={useEffectOnce}
/>
Properties
Property | Default | Type | Description |
---|---|---|---|
items | undefined | extends JSSwiperData | |
prevButton | undefined | extends HTMLElement | |
nextButton | undefined | extends HTMLElement | |
stateButton | undefined | extends HTMLElement | |
duration | 200 | number | |
interval | 0 | number | |
width | undefined | number | |
height | undefined | number | |
startEffect | undefined | 'useEffectOnce' or useEffect type | For React dev environment |
type JSSwiperData = {
image: string
order: number
/** image styles */
backgroundColor?: Property.BackgroundColor
objectFit?: Property.ObjectFit
} & ({
link: string
newTab?: boolean
} | {
link?: never
newTab?: never
})
(callback: React.EffectCallback, dependencyList: React.DependencyList | undefined) => void