zoukankan      html  css  js  c++  java
  • react路由5到底要怎么使用(基础向)

      前言

      最近因项目需要开始使用react,很快遇到一个问题,首页的导航需要用到react-router

      但网上铺天盖地都是路由4.0的使用博文,而我的路由版本是最新的5.0,这让我很是苦恼。

      最后几经波折,终于试出了路由5的用法,总结如下,希望帮到有需要的小伙伴

      安装(新版指路由5,旧版指路由4)

      新版:npm install react-router-dom --save-dev

      旧版:npm install react-router --save-dev

      注:新版直接安装react-router-dom即可,其中已经包含了react-router的核心API,更小巧灵活

      

      index.js文件引入

      新版

      import { BrowserRouter as Router, Switch, Route } from "react-router-dom

      

      旧版

      import { Router, Route, Link } from 'react-router'

      

      接着引入你的组件

      

      然后index.js中如下截图添加路由即可

      新版

      嵌套关系:<Router> / <Switch> / <Route>

      Router:保持 UI 和 URL 的同步

      Switch:保证只渲染其中一个子路由

      Route:用于声明路由映射到应用程序的组件层

      exact:帮助我们精确定位,正确显示跳转后对应组件内容,不加该属性会出现仅URL改变,但页面内容并未随之改变

      

      旧版

      <Route>不需要嵌套在<Switch>中,连接组件的方式为  Component = { 你的组件名 }

      

      然后在Nav.js导航组件中引入路由的Link组件

      import { Link } from 'react-router-dom';

      

        接着用<Link to="组件地址"></Link> ,<Link>最终会被解析成a标签,属性to会被解析成href 属性

       这里组件路由地址和index.js中设置的路由地址保持一致

      

        你可能会遇到的2个报错

      1:该错说明你没有用新版的方式引用路由

        import { BrowserRouter as Router, Switch, Route, Link } from "react-router-dom";

          

      2:该错提示解析错误:预期对应的JSX结束标记,可能是你的标签没有闭合,也可能是你的<Route>标签多写了一个 /

      

      

  • 相关阅读:
    关于struts页面跳转的问题
    java中==和equals的区别
    控制广播风暴的方法
    广播风暴的成因及解决办法
    思科FEX配置
    思科vPC技术和配置
    数据中心架构TOR和EOR
    ARP表项及老化时间
    MAC地址表和老化时间
    track 3 list boolean or
  • 原文地址:https://www.cnblogs.com/tu-0718/p/12531904.html
Copyright © 2011-2022 走看看