mirror of
https://github.com/streamich/react-use.git
synced 2025-12-08 18:02:14 +00:00
47 lines
1.0 KiB
Markdown
47 lines
1.0 KiB
Markdown
# `useLongPress`
|
|
|
|
React sensor hook that fires a callback after long pressing.
|
|
|
|
## Usage
|
|
|
|
```jsx
|
|
import { useLongPress } from 'react-use';
|
|
|
|
const Demo = () => {
|
|
const onLongPress = () => {
|
|
console.log('calls callback after long pressing 300ms');
|
|
};
|
|
|
|
const defaultOptions = {
|
|
isPreventDefault: true,
|
|
delay: 300,
|
|
};
|
|
const longPressEvent = useLongPress(onLongPress, defaultOptions);
|
|
|
|
return <button {...longPressEvent}>useLongPress</button>;
|
|
};
|
|
```
|
|
|
|
## Reference
|
|
|
|
```ts
|
|
const {
|
|
onMouseDown,
|
|
onTouchStart,
|
|
onMouseUp,
|
|
onMouseLeave,
|
|
onTouchEnd
|
|
} = useLongPress(
|
|
callback: (e: TouchEvent | MouseEvent) => void,
|
|
options?: {
|
|
isPreventDefault?: true,
|
|
delay?: 300
|
|
}
|
|
)
|
|
```
|
|
|
|
- `callback` — callback function.
|
|
- `options?` — optional parameter.
|
|
- `isPreventDefault?` — whether to call `event.preventDefault()` of `touchend` event, for preventing ghost click on mobile devices in some cases, defaults to `true`.
|
|
- `delay?` — delay in milliseconds after which to calls provided callback, defaults to `300`.
|