Поскольку вы используете реагирующую навигацию с использованием createStackNavigator, вы можете добавить элемент управления backHandler только внутри своего экрана initialRouteName
, но вам нужно будет добавить eventListener, чтобы проверить, является ли экран, который вы смотрите, действительно тем, который сфокусирован,в противном случае он будет срабатывать и на других ваших экранах
Если это не так, чтобы проверить длину вашего стека, внутри вашего экрана вы можете просто проверить это с помощью своей навигационной реквизиты:
handleBackPress=()=>{
if(this.props.navigation.state.routes.length===1){
//do what you need
return true
}
else {
this.props.navigation.pop(1)
return true
}
}