1) Para fazer o botão Voltar desaparecer no react-navigation v2 ou mais recente:
navigationOptions: {
title: 'MyScreen',
headerLeft: null
}
2) Se você deseja limpar a pilha de navegação:
Supondo que você esteja na tela a partir da qual deseja navegar:
Se você estiver usando a versão de navegação react v5 ou mais recente, pode usar navigation.reset
ou CommonActions.reset
:
navigation.reset({
index: 0,
routes: [{ name: 'Profile' }],
});
Fonte e mais informações aqui: https://reactnavigation.org/docs/navigation-prop/#reset
Ou:
navigation.dispatch(
CommonActions.reset({
index: 1,
routes: [
{ name: 'Home' },
{
name: 'Profile',
params: { user: 'jane' },
},
],
})
);
Fonte e mais informações aqui: https://reactnavigation.org/docs/navigation-actions/#reset
Para versões mais antigas do react-navigation:
uso de 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);
uso v1NavigationActions.reset
3) Para o Android, você também terá que desativar o botão Voltar do hardware usando o BackHandler :
http://reactnative.dev/docs/backhandler.html
ou se você quiser usar ganchos:
https://github.com/react-native-community/hooks#usebackhandler
caso contrário, o aplicativo será fechado ao pressionar o botão Voltar do hardware do Android se a pilha de navegação estiver vazia.