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

Posted ktddcn

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于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的使用,现行版本要求必须置于内,且也必须置于内,如果没有,则其他路由不会覆盖默认路由,即其它页面切换时,默认页面仍然存在:
技术图片
所以,必必可少的,现配上代码:

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;

以上是关于关于react-router最新版本的使用的主要内容,如果未能解决你的问题,请参考以下文章

react-router v6新特性总结

React-Router - 未捕获的类型错误:无法读取未定义的属性“getCurrentLocation”

为啥react-router中的link用不了

webpack-dev-server 使用 react-router 启用 browserhistory 采坑记

webpack-dev-server 使用 react-router 启用 browserhistory 采坑记

使用带有打字稿的 react-router