В this.props.navigation
есть функция с именем dangerouslyGetParent
.Вы можете увидеть это в документации здесь .
В документации говорится следующее:
Еще один хороший пример использования этого - найти индексактивный маршрут в списке маршрутов родителя.Таким образом, в случае стека, если вы находитесь с индексом 0, вы можете не отображать кнопку возврата, но если вы находитесь где-то еще в списке, то вы должны отобразить кнопку возврата.
Таким образом, мы можем использовать следующее для получения индекса маршрута
this.props.navigation.dangerouslyGetParent().state.index
Таким образом, мы можем использовать это в onPress
вашего Button
следующим образом, чтобы проверить, вернулись ли мы кначало маршрута.
<Button onPress={() => {
// get the index of the route
let index = this.props.navigation.dangerouslyGetParent().state.index;
// handle the index we get
if (index > 0) {
this.props.navigation.goBack();
} else {
this.doSomething();
}
}}/>