【问题标题】:React native Stack navigator Back Handler反应本机堆栈导航器返回处理程序
【发布时间】:2018-05-18 09:16:42
【问题描述】:

React native Stack Navigator 从应用程序的每个页面转到主页的默认路由(initialroutename)我想从几页转到上一页并禁用从几页转到后一页。在这种情况下,Back Handler 甚至没有帮助。我怎样才能做到这一点

     class AppNavigator extends Component {

      constructor(props) {
        super(props)
        this.handleBackButtonClick = this.handleBackButtonClick.bind(this);
    }

    componentWillMount() {
        BackHandler.addEventListener('hardwareBackPress', this.handleBackButtonClick);
    }

    componentWillUnmount() {
        BackHandler.removeEventListener('hardwareBackPress', this.handleBackButtonClick);
    }

    handleBackButtonClick() {
        this.props.navigation.goBack();
        return true;
    }

      render() {
        return;
      }
    }

    export default AppNavigator;

抽屉导航器的代码。所有路由也都在这里定义。

        import React from "react";
    import { DrawerNavigator } from "react-navigation";

    import Home from "./components/home/";
    import SideBar from "./components/sidebar";
    import Dashboard from "./components/Dashboard/";
    import Profile from "./components/Profile"
    import Contact from "./components/Contact"
    import Terms from "./components/terms"
    import Links from "./components/Links"
    import Register from "./components/Register"
    import Discover from "./components/Discover/";



    const Drawer = DrawerNavigator(
      {
        Home: { screen: Home },
        Dashboard: { screen: Dashboard },
        Discover: { screen: Discover }
        Profile : {screen: Profile},
        Contact: { screen: Contact},
        Terms: { screen: Terms},
        Links: { screen: Links},
        Register: { screen: Register,
          navigationOptions: {
            title: "FirstPage",
            header: {
              left: null,
            }
          }, },

      },
      {
        initialRouteName: "Home",
        contentOptions: {
          activeTintColor: "#e91e63"
        },
        drawerPosition: 'right',
        contentComponent: props => <SideBar {...props} />
      }
    );



    export default Drawer;

【问题讨论】:

    标签: android ios reactjs react-native


    【解决方案1】:

    为什么要处理返回事件?相反,使用导航 reset 属性将您的路线重置为 0 并且用户将永远不会返回,因为赌注是空的

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-10-16
      • 1970-01-01
      • 2020-01-28
      • 2020-03-15
      • 1970-01-01
      • 2019-12-16
      相关资源
      最近更新 更多