use-shake-callback
🐍 useShakeCallback hook for listening shake events in React Native
📦 Installation
- Please note that this package uses
rxjs
andreact-native-sensors
as dependencies and havereact
andreact-native
as peer dependencies.
npm add use-shake-callback# Or with yarn yarn add use-shake-callback
🚀 Usage
- The first argument of the hook is the callback function - It's only argument is
speed
, which is the speed of your shake at the time the callback is called. - Second argument is the configuration object - All fields optional.
- It is strongly recommended that you adjust the
threshold
value with experiments to match your needs.
; useShakeCallback, ;
- This hooks is optimized to unsubscribe the sensor event listener when the app status change to
inactive
(= when the app goes to background). TheappState
, which is required to handle such process, is exported so that you can use throughout your application.
; console.logappState // 'active' or 'inactive'
👻 Typings
- All typings are exported. Yay! 🎉
;
type ShakeCallback
- Type of the callback, which is called when the current device speed(calculated from acceleration) is greater then the provided
threshold
. - Return type is
void
.
Parameters
Name | Type | Description |
---|---|---|
speed |
number |
Speed of the current shake |
interface ShakeConfig
- Configuration object of the hook.
Fields
- All fields are optional and have defaults.
Name | Type | Default value | Description |
---|---|---|---|
updateInterval |
number |
100 |
Defines the update interval of the accelerometer sensor |
threshold |
number |
5 |
Threshold for detecting shake events; If the current speed is greater than the provided value, the callback will be called. |
onError |
(error: any) => void or undefined |
undefined |
Called when error occurred in subscription for accelerometer |
onUnsubscribe |
() => void or undefined |
undefined |
Called when unsubscribed from the accelerometer sensor |