我在iOS手机上使用
Expo v2.3.8
和Expo 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
答案 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
。