带有 Expo 的 React-Native Shake 事件检测器
Posted
技术标签:
【中文标题】带有 Expo 的 React-Native Shake 事件检测器【英文标题】:React-Native Shake Event Detector With Expo 【发布时间】:2018-11-11 18:38:20 【问题描述】:我在 ios 手机上使用
Expo v2.3.8
和Expo client v2.9.0
。
我正在尝试测试 Shake addEventListener
事件,但最终总是打开 Expo 开发者菜单。所以我在 Expo 中关闭了摇动选项,但这次我摇动时,手机旧的 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 抖动检测器 - https://www.npmjs.com/package/react-native-shake
【问题讨论】:
【参考方案1】:react-native-shake
库需要链接本机代码,因此如果不先从 Expo 弹出到 Expokit,它将无法工作,如下所述:https://docs.expo.io/versions/latest/expokit/eject/
从您的项目目录中,运行expo eject
。这将下载所需的依赖项并在 ios 和 android 目录下构建原生项目。然后按照库安装说明运行react-native link react-native-shake
。
【讨论】:
您能否提供解决方案/简短说明以及链接? 评论中不适合我,请编辑答案:)以上是关于带有 Expo 的 React-Native Shake 事件检测器的主要内容,如果未能解决你的问题,请参考以下文章
带有 Expo 的 React-Native Shake 事件检测器
Expo react-native 将无法连接到 socketio(Android 和 iOS)