zoukankan      html  css  js  c++  java
  • react-navigation-easy-helper

    本组件旨在不更改源码情况下,简单配置即可实现一些复杂的功能。如在任意位置进行跳转、根据路由名字返回指定页面、简化参数的获取、快速点击的拦截、统一页面跳转的拦截等。

    • 安装:

      npm install react-navigation-easy-helper --save or yarn add react-navigation-easy-helper
    • 使用:

    import {configRoute,addToRouteStack,configRoute} from 'react-navigation-easy-helper'
    
    //首先需要在之前的导航配置文件中用configRoute包裹参数
      export const AppNavigator = StackNavigator(
      configRoute({
        LaunchPage: {screen: LaunchPage},
        Test2Page: {screen: Test2Page},
        Test3Page: {screen: Test3Page},
        Test4Page: {screen: Test4Page},
        LoginPage: {screen: LoginPage},
    }), {
        initialRouteName: 'LaunchPage'
    }
    );
     
    //在任意地方就可以这样使用
    RouteHelper.navigate('Test2Page', {params: '我是参数'})
    //返回指定页面
    RouteHelper.goBackTo('Test2Page')
    
    //在注册的页面可以添加回调
     componentDidFocus(){
        console.log('componentDidFocus',arguments)
     }
    
     componentWillBlur(){
        console.log('componentWillBlur',arguments)
     }
    
       //跳转拦截器用法
        let needLoginPage = ['Test3Page'];
                let noLogin = true;
                RouteHelper.routeInterceptor = (routeName, params) => {
                    if (noLogin && needLoginPage.indexOf(routeName) !== -1) {
                        // RouteHelper.navigate('LoginPage', {
                        //     routeName,
                        //     params
                        // });
                        RouteHelper.push('LoginPage', {
                            successCallBack: () => {
                                noLogin = false;
                                RouteHelper.push(routeName, params)
                            }
                        });
                        return false;
                    }
                    return true
                };
                RouteHelper.navigate('Test3Page', {params: '我是参数'})
                
                //其它具体用法见example

    .

  • 相关阅读:
    [bzoj1500][luogu2042][cogs339][codevs1758]维修数列(维护数列)
    无旋treap的简单思想以及模板
    [hdu2036]改革春风吹满地
    (treap)[bzoj3224][洛谷3369][cogs1829]Tyvj 1728 普通平衡树
    [bzoj3875][Ahoi2014]骑士游戏
    [bzoj1433][ZJOI2009]假期的宿舍
    <struct、union、enum>差异
    LeetCode(50) Pow(x,n)
    LeetCode(49)Group Anagrams
    LeetCode(48)Rotate Image
  • 原文地址:https://www.cnblogs.com/crazycode2/p/9472498.html
Copyright © 2011-2022 走看看