Skip to content

Doko-Demo-Doa/react-native-shake

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

React Native Shake Event Detector

If you like this, please consider...

Thank you!

Latest version

RNShake

With this library, you can add shake event detector on your React Native app. Because react-native-shake-event is not in active development anymore, I decided to created this.

Please note that it only works on real devices

Installation

npm install react-native-shake

or

yarn add react-native-shake

Linking the native modules

Automatic:

From React Native 0.60, you don't have to manually link libraries anymore. Just

cd ios
pod update

and you're good to go.

Manual (iOS):

Follow this guide

Usage

For 5.x.x and higher:

import React from 'react';

export const MyComponent = () => {
  React.useEffect(() => {
    const subscription = RNShake.addListener(() => {
      // Your code here...
    });

    return () => {
      // Your code here...
      subscription.remove();
    };
  }, []);
};

and for older versions:

import RNShake from 'react-native-shake';

// For v3.x.x and below:
class MyComponent extends React.Component {
  componentDidMount() {
    RNShake.addEventListener('ShakeEvent', () => {
      // Your code...
    });
  }

  componentWillUnmount() {
    RNShake.removeEventListener('ShakeEvent');
  }
}

// For v4.x.x onwards:
class MyComponent extends React.Component {
  componentDidMount() {
    RNShake.addListener(() => {
      // Your code...
    });
  }

  componentWillUnmount() {
    RNShake.removeListener();
  }
}