react-navigation HeaderBackButton 没有 onLongPress

No onLongPress for react-navigation HeaderBackButton

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

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

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

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

这是一个示例代码:

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

您可以阅读更多相关信息 here