【问题标题】:React-native : How many milliseconds will take for onLongPress(Prop of TouchableOpacity) to be called?React-native:调用 onLongPress(Prop of TouchableOpacity) 需要多少毫秒?
【发布时间】:2019-02-12 06:48:00
【问题描述】:
onLongPress 在View 被点击并按住一段时间后被调用。但与原生 android 应用相比,react-native 应用的持有时间似乎更长一些。我在我的android 手机和Contacts 应用程序中测试了同样的东西,其中LongPress 的动作要快一些。
因此,我想知道调用onLongPress 需要多少毫秒?有没有办法减少时间?
谢谢。
【问题讨论】:
标签:
android
react-native
long-press
【解决方案1】:
React Native 应用程序和原生 Android 应用程序之间有一个主要区别。
React Native 的工作方式是,当您使用原生 UI 元素时,它必须将在这些元素上执行的操作传达给原生逻辑,这需要时间。这称为bridge。
此桥用于翻译 JS 调用并调用原生的底层 API 和 UI 元素。
我猜这就是为什么您会看到 React Native 应用程序和原生 Android 应用程序之间存在细微的时间差异。
【解决方案2】:
React Native 为 Touchable 提供了这个道具,
delayLongPress
这会将长按延迟您指定的时间(毫秒)。
你可以通过
去
TouchableOpacity的定义
ctr+clickTouchableOpacity或右击TouchableOpacity并选择go to definition。(VS Code)
并查看有关此道具的更多信息并根据您的用例使用此道具。