Назад к предыдущему маршруту в обработке аппаратной кнопки «Назад» в Android - PullRequest
0 голосов
/ 01 мая 2018

Я использую этот код ( здесь ) для обработки аппаратной кнопки возврата в Android.

У меня есть вложенный маршрут, и в этом коде, когда вы нажимаете кнопку «Назад», переходите к initialRoute.

Мой маршрут такой как: Home => PoolList => PoolDetails => Cart

В Cart Маршрут, нажав кнопку Назад, обратно к Home. Я хочу вернуться, такие как:

Home <= PoolList <= PoolDetails <= Cart

Как изменить этот код?

import React from "react";
import { BackHandler } from "react-native";
import { addNavigationHelpers, NavigationActions, DrawerNavigator } from "react-navigation";

const AppNavigation = DrawerNavigator(
  {
    Home: { screen: HomeScreen },
    PoolList: { screen: PoolListScreen },
    PoolDetails: { screen: PoolDetailsScreen },
    Cart: { screen: CartScreen },
  },
  {
     contentComponent: props => <SideBar {...props} />,
     drawerPosition: 'right'
 }
);

class ReduxNavigation extends React.Component {
  componentDidMount() {
    BackHandler.addEventListener("hardwareBackPress", this.onBackPress);
  }
  componentWillUnmount() {
    BackHandler.removeEventListener("hardwareBackPress", this.onBackPress);
  }
  onBackPress = () => {
    const { dispatch, nav } = this.props;
    if (nav.index === 0) {
      return false;
    }
    dispatch(NavigationActions.back());
    return true;
  };

  render() {
    const { dispatch, nav } = this.props;
    const navigation = addNavigationHelpers({
      dispatch,
      state: nav,
      addListener,
    });

    return <AppNavigation navigation={navigation} />;
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...