如果返回反应导航应用程序主页,如何禁用 Android 后退按钮?
How to disable Android Back Button if it brings back to the react-navigation application home page?
在 react-native 应用程序中,我使用 react-navigation 5.
我有两种模式simple
和pro
,右上角有一个开关可以从一种模式切换到另一种模式。
默认模式是 simple
,如果我点击开关,我会导航到 pro
。然后我可以访问 pro
.
的所有页面
当我使用 Android 后退按钮时,我通常会返回到之前的路线。我想禁用后退按钮,这样它就不会从 pro
返回到 simple
。
这怎么可能?
这取决于你的导航器。我假设您使用的是 Stack Navigator,在这种情况下,不要执行 navigation.navigate('Pro')
之类的操作,而是执行 navigation.replace('Pro')
以便 Pro 屏幕替换简单屏幕并保留导航堆栈中的第一个屏幕,因此无处可去从它回来。
否则,如果您仍想黑入后退 Android 按钮,请阅读此 https://reactnavigation.org/docs/custom-android-back-button-handling。这并不是您问题的真正解决方案,因为您仍然可以返回,例如,意外发送返回导航操作(或调用 navigation.goBack()
)或从 [=] 上的屏幕边缘滑动19=]
在 react-native 应用程序中,我使用 react-navigation 5.
我有两种模式simple
和pro
,右上角有一个开关可以从一种模式切换到另一种模式。
默认模式是 simple
,如果我点击开关,我会导航到 pro
。然后我可以访问 pro
.
当我使用 Android 后退按钮时,我通常会返回到之前的路线。我想禁用后退按钮,这样它就不会从 pro
返回到 simple
。
这怎么可能?
这取决于你的导航器。我假设您使用的是 Stack Navigator,在这种情况下,不要执行 navigation.navigate('Pro')
之类的操作,而是执行 navigation.replace('Pro')
以便 Pro 屏幕替换简单屏幕并保留导航堆栈中的第一个屏幕,因此无处可去从它回来。
否则,如果您仍想黑入后退 Android 按钮,请阅读此 https://reactnavigation.org/docs/custom-android-back-button-handling。这并不是您问题的真正解决方案,因为您仍然可以返回,例如,意外发送返回导航操作(或调用 navigation.goBack()
)或从 [=] 上的屏幕边缘滑动19=]