react笔记 路由 嵌套路由

使用路由首先需要安装react-router-dom

随后引入react-router                                 !!注意 首字母大写

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

1、根据网址自动判断页面

随后在app根标签内 !!注意  exact path 如果你的 "/"默认地址没有用exact path  遇到"/home"

会同时把 匹配为 "/"的页面和  "/home"的页面同时加载出来   "/"建议用exact path

exact path为严格匹配路由地址

function App() {
  return (
    <div className="App">
      <div></div>
      {/* <News/> */}

      <Router>
        <div>
          <Route exact path="/" component={Home}></Route>
          <Route path="/home" component={Home}></Route>
          <Route path="/news" component={News}></Route>
          <Route path="/list" component={List}></Route>
        </div>
      </Router>
    </div>
  );
}

component代表你的组件  组件需要先import引入在使用

2、按钮跳转 注意Link首字母大写

function App() {
  return (
    <div className="App">
      <Router> 
        <div>
          <Link to="/list">list</Link>   
          <br/>
          <Link to="/home">home</Link>
          <hr/>
          <br/>
        </div>
      </Router>
    </div>
  );
}

 这样就可以通过标签跳转页面

3 嵌套路由   要记住 path不加 exact会匹配   /  路由页面

和app.js的路由同理,

比如user用户页面  在组件component文件夹中新建一个user 的子组件文件夹

在user.js文件中引入这两个文件 和react-router

随后 就可以在render编写路由代码了

function App() {
  return (
    <div className="App">
      <div></div>
      {/* <News/> */}

      <Router>
        <div>
          <Route exact path="/" component={Home}></Route>
          <Route path="/user/xxx" component={xxx}></Route>

        </div>
      </Router>
    </div>
  );
}


另一种方式



      <Router>
        <div>
          <Route exact path="/" component={Home}></Route>
          <Route path={'${this.props.match.url}/xxx'} component={xxx}></Route>

        </div>
      </Router>

可以通过this.props.match.url获取当前的路由地址

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值