首页 > 解决方案 > 没有用于反应导航 HeaderBackButton 的 onLongPress

问题描述

我正在尝试在自定义标题后退按钮上添加 onLongPress 功能,但这似乎不是现有的道具。有办法解决吗?

我想要这个功能,因为我的应用程序是为患有帕金森病的人设计的,所以对于患有震颤的用户,我可以选择只允许 onLongPress (这样连续的按键将被忽略并且可以避免失火)。因此,如果启用了长按选项,onPress 功能将被忽略,只有 onLongPress 可以工作。如果该选项尚未启用,则 onPress 和 onLongPress 都应该工作。

我为标题制作了其他自定义按钮,但我希​​望后退按钮维护导航堆栈,因此它可以返回到用户来自的页面。有没有办法添加标准的可触摸不透明度,具有与 HeaderBackButton 相同的 onPress 功能,所以我可以添加 onLongPress 功能。

标签: androidreact-nativeuser-interfacereact-navigationlong-press

解决方案


您可以在导航配置中添加headerLeft道具,给定一个函数传递给它,提供参数,例如(onPress, label, ...). 您可以onPress在自定义组件的onLongPress函数中调用它以保持相同的功能。

这是一个示例代码:

navigationOptions: {
  headerLeft: (onPress) => {
    return <TouchableOpacity ... onLongPress={onPress}>...</TouchableOpacity>
  }
}

您可以在此处阅读有关此内容的更多信息。


推荐阅读