react-router-dom v6 使用

本文介绍了react-router-dom v6的使用,包括与v5的区别,如组件的替换、跳转方式、匹配未定义路由的方法、嵌套路由与动态路由的实现,以及如何获取路由参数和设置默认路由。此外,还展示了如何通过配置实现路由管理。
摘要由CSDN通过智能技术生成

react-router-dom

react-router-dom v6 整体体验相对于 v5 ,体验要好更多,最大的一个改变,就是曾经的 Route 不可嵌套,整个路由配置必须拆分成若干小块,除非通过 react-router-config 这种插件,才可以实现对整个路由的管理,然而现在,不需要任何插件就可实现对路由配置的管理。

官网地址: react-router

当前例子,根据分支对应例子:react-router-dom-v6-example

v6v5 的区别

当前环境

  1. 安装

    npm install --save react-router-dom history

  2. react, react-router-dom 以及相关插件版本。

    “dependencies”: {
    “history”: “^5.1.0”,
    “react”: “^17.0.2”,
    “react-dom”: “^17.0.2”,
    “react-router-dom”: “^6.0.2”
    }

  3. 如果是自己通过 webpack 配置的项目,一定要在 devServe 中配置 historyApiFallback,以及 output.publicPath 解决 history 模式页面刷新后出现 404 的情况。

    devServer: {
    port,
    host,
    hot: true,
    open: true,
    historyApiFallback:{
    disableDotRule: true
    }
    },

    // 以及 output 中的 publicPath
    output: {
    path: path.resolve(__dirname, “…/dist”),
    filename: “[name].[chunkhash].js”,
    publicPath: ‘/’
    },

使用

在入口文件中直接渲染 Router.tsx

// idex.tsx
import React from "react";
import ReactDOM from "react-dom";
import Router from "./router/Router";
import "./index";

ReactDOM.render(<Router />, document.getElementById("root"));
1. Routes 组件替换 v5Switch 组件;

Route 组件必须使用 Routes 嵌套

// Router.tsx
import React from "react";
import { BrowserRouter, Route, Routes } from "react-router-dom";
import Home from "../home/Home";
import Goods from "../goods/Goods";
import Customer from "../customer/Custo
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值