带有Expo的React-Native振动事件检测器

时间:2018-11-11 18:38:20

标签: reactjs react-native expo shake

  

我在iOS手机上使用Expo v2.3.8Expo client v2.9.0

我正在尝试测试摇动addEventListener事件,但总是以Expo Expo开发者菜单打开而告终。因此我关闭了Expo中的“ shake”选项,但是这一次,当我摇晃时,会打开电话旧的Expo开发人员菜单。

这是我的代码:

import RNShake from 'react-native-shake';

export default class Starting extends Component {
    static navigationOptions = {
      title: 'MyApp',
    };

    componentWillMount() {
      RNShake.addEventListener('shake', () => {
        this.props.navigation.push('Register');
      });
    }

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

我尝试打开生产模式。它没有工作。 如何通过Expo测试震动事件? React Native Shake Detector-https://www.npmjs.com/package/react-native-shake

1 个答案:

答案 0 :(得分:0)

react-native-shake库需要链接本机代码,因此如果不首先从Expo弹出到Expokit,它将无法工作,如此处所述:https://docs.expo.io/versions/latest/expokit/eject/

在您的项目目录中,运行expo eject。这将下载所需的依赖项,并在ios和android目录下构建本机项目。然后按照库安装说明运行react-native link react-native-shake