1) Para hacer que el botón Atrás desaparezca en react-navigation v2 o más reciente:
navigationOptions: {
title: 'MyScreen',
headerLeft: null
}
2) Si desea limpiar la pila de navegación:
Suponiendo que se encuentra en la pantalla desde la que desea navegar:
Si está usando la versión de react-navigation v5 o más reciente , puede usar navigation.reset
o CommonActions.reset
:
navigation.reset({
index: 0,
routes: [{ name: 'Profile' }],
});
Fuente y más información aquí: https://reactnavigation.org/docs/navigation-prop/#reset
O:
navigation.dispatch(
CommonActions.reset({
index: 1,
routes: [
{ name: 'Home' },
{
name: 'Profile',
params: { user: 'jane' },
},
],
})
);
Fuente y más información aquí: https://reactnavigation.org/docs/navigation-actions/#reset
Para versiones anteriores de react-navigation:
v2-v4 usoStackActions.reset(...)
import { StackActions, NavigationActions } from 'react-navigation';
const resetAction = StackActions.reset({
index: 0,
actions: [
NavigationActions.navigate({ routeName: 'myRouteWithDisabledBackFunctionality' }),
],
});
this.props.navigation.dispatch(resetAction);
v1 usoNavigationActions.reset
3) Para Android, también tendrá que deshabilitar el botón de retroceso del hardware con BackHandler :
http://reactnative.dev/docs/backhandler.html
o si quieres usar ganchos:
https://github.com/react-native-community/hooks#usebackhandler
de lo contrario, la aplicación se cerrará al presionar el botón Atrás del hardware Android si la pila de navegación está vacía.