Desabilitando botão de voltar do hardware: Android e iOS

Como desabitar a função de voltar do botão a nível de hardware dos celulares utilizando o React Native?

Apenas para Android, você irá no seu App.js e utilizando a API BackHandler e o hook useEffect, você poderá desabilitar o botão de voltar do celular.

import { useEffect } from 'react';
import { BackHandler } from 'react-native';

const App = () => {
...
useEffect(() => {
  BackHandler.addEventListener('backPress', () => true)
  return () => BackHandler.removeEventListener('backPress', () => true)
}, [])
...
}

export default App;

No iOS você irá nas opções do Stack Navigator, e setar o gestureEnabled como false.
Info: O padrão é true no iOS, e false no Android.

<Stack.Navigator 
  initialRouteName="Example Navigator"
  screenOptions={{
    gestureEnabled: false,
  }}
/>
// ou a nível de tela
<Stack.Screen 
  name="Example Screen"
  options={{
    gestureEnabled: false,
  }}
/>

Fazendo estes dois passos, você desabilitará o botão de voltar do celular tanto no Android quanto no iOS.

Comentários