• 关于react-router最新版本的使用


    现在react-router已经更新到了5.1.1版本,在一些使用方法上较之前有了很多改变,现做初步列举,以后会陆续更新。

    关于引入react-router和基本使用

    旧版本中引入react-router的方式先安装:

    npm install --save react-router
    

    然后引入:

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

    而现在需要安装react-router-dom包:

    npm install react-router-dom
    

    然后引入:

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

    需要值得注意的一点是,旧版本可以引入react-router包和react-router-dom包其中之一,而现在若是引入前者,在使用Link时则会报错:

    关于Link的使用,现行版本要求必须置于Router内,且Route也必须置于Switch内,如果没有Switch,则其他路由不会覆盖默认路由,即其它页面切换时,默认页面仍然存在:

    所以,Switch是必不可少的,现配上代码:

    import React from "react";
    import '../src/scss/App.scss';
    import { BrowserRouter as Router, Switch, Route, Link } from "react-router-dom";
    import Home from '../src/components/Home';
    import About from '../src/components/About';
    import Users from '../src/components/Users';
    
     function App() {
      return (
        <Router className="App">
          <div className="App-header">
            <nav>
              <ul>
                <li>
                  <Link to="/">Home</Link>
                </li>
                <li>
                  <Link to="/about">About</Link>
                </li>
                <li>
                  <Link to="/users">Users</Link>
                </li>
              </ul>
            </nav>
            <Switch>
              <Route path="/about">
                <About />
              </Route>
              <Route path="/users">
                <Users />
              </Route>
              <Route path="/">
                <Home />
              </Route>
            </Switch>
          </div>
        </Router>
      );
    }
    
    export default App;
    
  • 相关阅读:
    iOS中Zbar二维码扫描的使用
    SOJ 1135. 飞跃原野
    SOJ 1048.Inverso
    SOJ 1219. 新红黑树
    SOJ 1171. The Game of Efil
    SOJ 1180. Pasting Strings
    1215. 脱离地牢
    1317. Sudoku
    SOJ 1119. Factstone Benchmark
    soj 1099. Packing Passengers
  • 原文地址:https://www.cnblogs.com/ktddcn/p/11614040.html
Copyright © 2020-2023  润新知