React component to handle swiping on touch
source link: https://github.com/moubi/swipeable-react
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
swipeable-react
React component to handle swiping on touch devices.
Install
yarn add --save swipeable-react
Usage
import Swipeable from "swipeable-react"; ... class YourOwnComponent extends Component { render() { return ( <Swipeable onSwipeLeft={() => { console.log("swiped left"); }} onSwipeRight={() => { console.log("swiped right"); }} > {innerRef => ( <div ref={innerRef}> I will detect swiping! </div> )} </Swipeable> ); } }
Notes
- Supports both vertical and horizontal swiping.
- Uses
touchstart
,touchmove
andtouchend
events - Multiple nested Swipeables are supported.
Note that in this scenario successful inner swipe will prevent parent swipeables. The preventing is done by calling stopPropagation()
in the touchend
handler.
API
Prop Type Default Description children function Function that passes the ref down to the DOM element which will get touch events attached to. minDistance number 20 min distance in px between touchstart and touchend maxDistance number Infinity max distance in px between touchstart and touchend timeout number 500 the time in ms between touchstart and touchend onSwipeLeft function handler for successful swipe left onSwipeRight function handler for successful swipe right onSwipeUp function handler for successful swipe up onSwipeDown function handler for successful swipe down* All props are optional except the children .
Development
The project is built on node v10.15.1
. Set as default in .nvmrc
for nvm users.
yarn
Tests run in jest watch mode:
yarn test
Deploying by:
yarn build
That will create a lib/
folder with index.js
file containing transpiled code from the src/Swipeable.js
component
Credits
Non-react swiped-events
License
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK