vue路由和react路由对比

https://www.jianshu.com/p/8b94f1b98578
这是一篇vue和react的对比博文。推荐给各位。
https://router.vuejs.org/zh/vue-router的中文官网

vue路由

定义在根实例里跟data同级

<router-view></router-view>//视图区域
<router-link  to="/pro?name="bobo"></router-link>//第一种传参形式
<router-link  to="/pro/age"></router-link>//第二种传参形式,推荐使用的,需要在路由跳转配置“/:age”下面pro的子组件用的
var pro= {
          template:`<h1></h1>`
      }

 new Vue({
   data:{},
    router:new VueRouter({
      routes:[
         {
            path:"/",//路径
            component:"index"//组件
          },
           {
            path:"/pro",//路径
            component:"pro"//组件
          },
           {
            path:"/res",//路径
            component:"res"//组件
            children:[
              {
                path:"",//路径要是空
                comonent:"res_index"//代表默认子组件
                },
               {
                  path:"pro",//路径  ,此处子路由不能加“/”,“/”代表根目录
                  component:"pro/:age"//组件,第二种传参形式
                  }
             ]
          }

    ]
  })
})
  

vue路由传参形式,以及接受参数方法

第一种最原始的

  <router-link  to="/pro?name="bobo"></router-link>//第一种传参形式

接受参数

var pro= {
          template:`<h1> pro{{$route.query.name}}</h1>`//注册到根实例里的router具有全局性
      }

第二种推荐的,参考上面的配置

 <router-link  to="/pro/age"></router-link>//第二种传参形式,推荐使用的,
需要在路由跳转配置“/:age”

接受参数

var pro= {
          template:`<h1> pro{{$route.params.name}}</h1>`//注册到根实例里的router具有全局性
      }
  js中通过this.$route.params.name获取

react 路由

用于提高大家学习react
https://react.docschina.org/ react官网
http://react-china.org/t/react-router4/15843 react-router4的api
http://react-guide.github.io/react-router-cn/docs/API.html react-router的api

react 路由,使用 React-router-dom。

<Router>
          <div className="App">
                  {//用link这里的大括号,是为了让注释生效。jsx的语法
                       //  <Link  to= {{
                       //    pathname:"/Father",
                       //    search:"?id=9999",//第一种传参形式
                       //    hash:"$thehash",
                       //    state:{fromDashboard:true} //在link里用to 指定模板并传参
                       //  }}>{store.getState().wfather}</Link>
                       //  <Link  to= "/Child">{store.getState().wchild}</Link>
                       // <Switch>
                       //  <Route path="/Father" component={Father}/>
                       //  <Route path="/Child" component={Child}/>
                       //  </Switch>
                        }
                         <NavLink  exact  to= "/">index</NavLink >
                        <NavLink  to="/Father/22222/bobo">{store.getState().wfather}</NavLink >//跟link的作用一样,相当于a标签
                        //和vue的第二种传参形式很想
                        <NavLink   to= "/Child">{store.getState().wchild}</NavLink >//第二种传参形式,需要在下面定义
                       <Switch>//Switch常常会用来包裹Route,它里面不能放其他元素,用来只显示一个路由。
                         <Route exact  path="/" component={index}}/>//exact强制路径,找的"/"就不向下找了
                        <Route path="/Father/:id/:name" component={Father}/>
                        <Route path="/Child" component={Child}/>//视图区域
                        </Switch>
              
          </div>

 </Router>

react路由传参形式,以及接受参数方法

NavLink比link的api更多,而且他的传参形式更接近,vue的推荐形式
在class创建的组件中我们需要通过this.props.match获取信息

  this.props.match //这个对象有传的参数
  this.props.match.params//获取参数并处理,这是针对Navlink传参
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Vue也已经升级到2.0版本了,到现在为止(2016/11/19)比较流行的MVVM框架有AngularJS(也有...
    彬_仔阅读 27,325评论 12 114
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,073评论 19 139
  • 相关概念 混合开发和前后端分离 混合开发(服务器端渲染) 前后端分离后端提供接口,前端开发界面效果(专注于用户的交...
    他爱在黑暗中漫游阅读 7,952评论 4 45
  • 紫夏无意间向一个角落看去,看到了一个小孩被一个人拖出,扔到紫夏所看到的角落。 三月的江月城,以雨而著称。这里是江月...
    JYsora阅读 2,425评论 0 1
  • 今天中午在爸妈那吃饭,快要吃好,对面的爸幽幽的来了句:今天是个特殊的日子…。我那一向都拐不过弯的脑子今天却一灵光,...
    张祝莉阅读 2,206评论 0 0

友情链接更多精彩内容