我'm currently in the process of changing react-navigation to not use the project'的redux因为它不再受支持https://reactnavigation.org/docs/en/redux-integration.html .

我已经采取了使用导航的方法,没有任何导航道具,如上所述 . 遵循这里的规格https://reactnavigation.org/docs/en/navigating-without-navigation-prop.html .

我面临的问题是当我点击它时,Android后退按钮(不是屏幕UI中的按钮)不起作用 . 意思是前一个屏幕没有显示 .

这是在我的NavigationService.js文件中

function back() {
  _navigator.dispatch(NavigationActions.back())
}

export const goBack = () => back()

在我的组件中我有这个

import { goBack } from "~/components/nav/NavigationService"
return styleNavbar({
      headerLeft: <NavbarLeftIcon onPress={goBack} iconName="back" />,
    })

当我点击NavBarLeftIcon时,它确实返回到上一个屏幕但是当我点击Android后退按钮时它不起作用 . 如何将其与Android后退按钮集成?

我知道有一种方法可以使用BackHandler来处理这个:

BackHandler.addEventListener("hardwareBackPress", this.onBackButtonPressAndroid)

但是React Navigation应该隐式处理这个,而没有任何特殊的代码将它显式地映射到Android后退按钮 . 使用React Navigation使两个后退按钮都工作的最佳方法是什么?