1) Aby przycisk Wstecz znikał w React-navigation v2 lub nowszej:
navigationOptions: {
title: 'MyScreen',
headerLeft: null
}
2) Jeśli chcesz wyczyścić stos nawigacji:
Zakładając, że jesteś na ekranie, z którego chcesz nawigować:
Jeśli używasz reaktora nawigacji w wersji 5 lub nowszej , możesz użyć navigation.reset
lub CommonActions.reset
:
navigation.reset({
index: 0,
routes: [{ name: 'Profile' }],
});
Źródło i więcej informacji tutaj: https://reactnavigation.org/docs/navigation-prop/#reset
Lub:
navigation.dispatch(
CommonActions.reset({
index: 1,
routes: [
{ name: 'Home' },
{
name: 'Profile',
params: { user: 'jane' },
},
],
})
);
Źródło i więcej informacji tutaj: https://reactnavigation.org/docs/navigation-actions/#reset
W przypadku starszych wersji React-Navigation:
użycie v2-v4StackActions.reset(...)
import { StackActions, NavigationActions } from 'react-navigation';
const resetAction = StackActions.reset({
index: 0,
actions: [
NavigationActions.navigate({ routeName: 'myRouteWithDisabledBackFunctionality' }),
],
});
this.props.navigation.dispatch(resetAction);
v1 useNavigationActions.reset
3) W przypadku Androida musisz również wyłączyć przycisk powrotu sprzętu za pomocą BackHandler :
http://reactnative.dev/docs/backhandler.html
lub jeśli chcesz użyć hooków:
https://github.com/react-native-community/hooks#usebackhandler
w przeciwnym razie aplikacja zostanie zamknięta po naciśnięciu przycisku Wstecz sprzętowego systemu Android, jeśli stos nawigacji jest pusty.