首页 > 其他 > 详细

17 React-router

时间:2020-03-17 15:26:05      阅读:78      评论:0      收藏:0      [点我收藏+]

效果

技术分享图片

 

 点击About,切换到About组件的内容

 点击Home,就切换到Home组件的内容

 默认是渲染About组件标签

第一步,准备

①下载:npm install --save react-router-dom

  技术分享图片

 

   在package.json中可以看到我们下载的依赖中有 react-router

②使用到路由组件是,在入口JS(index.js)中我们需要 需要把APP组件放在 路由组件的标签中,让 router 管理整个应用

  技术分享图片

 

    这里使用 <BrowserRouter > ,我们也可以使用 <HashRouter>

第二步:拆分组件(区分路由组件和非路由组件)

  技术分享图片

  ①共三个组件,APP 组件  About 组件 Home组件,其中About组件和Home组件时路由组件

  ②路由组件我们放在 components 文件夹中,非路由组件我们放在 pages 文件夹中

第三步:使用 react-router 库 实现路由组件

  ①首先路由链接 要使用 <NavLink> 标签,原来 a 标签中的 href 改为 to

    技术分享图片

 

    技术分享图片

 

   ②组件标签 使用 <Router > 标签

    技术分享图片

 

      技术分享图片

     但是界面上我们只能渲染一个组件标签,所以需要用到 <Switch> 标签,把路由组件标签放在 Switch 中,称为可切换的路由组件

    技术分享图片

 

   ③可以看到,路由组件已经实现成功了

    技术分享图片

 

    ④app.jsx

 1 import React, { Component } from react
 2 import {Route,NavLink,Switch} from react-router-dom
 3 
 4 import About from ../../pages/about/about
 5 import Home from ../../pages/home/home
 6 
 7 export default class App extends Component {
 8     render() {
 9         return (
10             <div>
11                 <div className="container">
12                     <div className="row">
13                         <h1>React Router Demo</h1>
14                     </div>
15                     <hr/>
16                     <div className="row">
17                         <div className="col-md-2">
18                             <div className="list-group">
19                                 <NavLink className="list-group-item" to="/about">About</NavLink>
20                                 <NavLink className="list-group-item" to="/home">Home</NavLink>
21                             </div>
22                         </div>
23                         <div className="col-md-6 col-md-offset-1">
24                             <Switch>
25                                 <Route path="/about" component={About}/>
26                                 <Route path="/home" component={Home}/>
27                             </Switch>
28                         </div>
29                     </div>
30                 </div>
31             </div>
32         )
33     }
34 }

可以看到这里并没有设置默认路由,而最后的页面效果中却默认显示了About 组件???

设置默认路由的方式是使用 <Redirect >

技术分享图片

 

17 React-router

原文:https://www.cnblogs.com/shanlu0000/p/12510767.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!