A button that can be held down(long pressed) for initiating an action
npm install react-long-pressLong Press is defined as the user holding the button with their mouse for a long time.npm install react-long-press
import ReactHoldButton from 'react-long-press';
class Example extends React.Component {
longPressStart = () => {
console.log('Long press Started');
};
longPressEnd = () => {
console.log('Long press Ends');
};
render(){
return (
Pass a custom className prop and add custom CSS for button looks. A simple one is given below
.my-delete-button {
background-color: #fff;
border: 1px solid red;
border-radius: 2px;
padding: 5px;
margin-top: 8px;
&:hover {
background-color: red;
color: #fff;
}
}
- longPressStart - This function will be called when long press starts.
- longPressEnd - This function will be called when long press ends.
- pressCallback - [optional] This function will be called for every pressCallbackTimeout milliseconds.
- isPressed - This function is available with the instance. Returns true if the long press is active at any given time. Returns false if long press is not active at that moment.
eg:
{/ ..other props /}
/>
Then, the function can be invoked as
this.holdButton.isPressed()
- pressCallbackTimeout - [optional] Defines the timeout in milliseconds for which the pressCallback should be called. Default is 100.
- timeout - [optional] Defines the time the mouse should be held on the button for long press to start. Default is 300. When the user is holding their mouse down on the component for 300 milliseconds, the longPressStart callback is invoked.