zoukankan      html  css  js  c++  java
  • react-router

    Route,hashHistory,Route

      IndexRoute即处理页面初始进入时候的组件展示,等路由切换的时候,再根据其他路由规则进行组件的切换展示

    Link

      react-router提供的导航组件,可以直接使用进行路由切换,相当于a标签

    browserHistory

      使用browserHistory的时候,浏览器中导航栏的url就不会出现_k的hash键值对,实际项目中一般用browserHistory。这样正常点击路由切换没有问题,但是重新刷新url就会报找不到路由,这个时候我们在webpack-dev-server启动的时候需要加上参数--history-api-fallback,也可以在webpack配置中设置historyApiFallback为true

    activeStyle,activeClassName

      当前路由被点击处于触发显示状态的时候,我们可以使用activeStyle来给路由设置一些颜色

    路由变量

      常规的路由,路由中的规则是给定的,我们可以尝试使用路由变量,在组件中获取这个路由的变量,并做相应的组件展示

      如<Route path='/(:message)' component={message}/>,在message组件中,可以通过this.props.params.message获取到这个变量的值。

    Route中components参数的高级用法

      Route中components中接收的参数不仅仅只是实际的组件,还可以是对象,通过这样的用法,我们可以更灵活的控制组件的展示。

      如:<IndexRoute components={{header:HomeHeader,body:HomeBody}}/>使用的时候,直接用{props.header},{props.body}获取就可以了。

    使用query获取url中的参数

      可以将url中访问的参数获取,并且应用到组件中。props.location.query.message 拿到?message='value'的值

      还可以在Link组件中设置pathname和query变量

      如:<Link to={{pathname:"/",query:{message:'fengmin'}}}

    rediect重定向

      <Redirect from="/contact" to="/contact-us"/>

    setRouteLeaveHook

    路由钩子函数,处理路由切换时的操作

    componentWillMount(){
      this.context.router.setRouteLeaveHook(
           this.props.route,
           this.routerWillLeave
      )  
    }
    routerWillLeave(nextLocation){
        return `页面即将从home跳转到${nextLocation.pathname}`
    }    

     

  • 相关阅读:
    Scilab 的画图函数(2)
    Webapp的display-name问题
    记录:在老XPS1330上安装CentOS7
    包含Blob字段的表无法Export/Import
    记一段脚本的诞生
    一个短小的JS函数,用来得到仅仅包含不重复元素的数组
    然并卵
    Linux下的定时任务Crontab
    两段用来启动/重启Linux下Tomcat的Perl脚本
    JavaScript中给二维数组动态添加元素的质朴方法
  • 原文地址:https://www.cnblogs.com/web-fengmin/p/6727444.html
Copyright © 2011-2022 走看看