1. 安装依赖

cnpm i -S react-router-dom@6

2. react-router-dom V6 属性:BrowserRouter 、Routes 、Route、Link .

import {BrowserRouter, Routes, Route, Link } from "react-router-dom"
function Index(){return <div><BrowserRouter><Routes><Route path="/" element={<Link to="/page2">link</Link>} /><Route path="/page1" element={<Page1/>}/><Route path="/page2" element={<Page2/>}/></Routes></BrowserRouter></div>
}

3. 编程式跳转:useNavigate

1.必须在函数组件内使用
2.如果想要在类组件内使用,可以在外包装一层函数组件

函数组件使用

import {BrowserRouter, Routes, Route , useNavigate} from "react-router-dom"
function Index(){return <div><BrowserRouter><Routes><Route path="/" element={<Button/>} /><Route path="/page1" element={<Page1/>}/><Route path="/page2" element={<Page2/>}/></Routes></BrowserRouter></div>
}function Button(){const navigate = useNavigate()return <button onClick={()=>navigate("/page2")}>编程式跳转</button>
}

类组件使用

//Index.js
import {BrowserRouter, Routes, Route } from "react-router-dom"
class Index extends React.Component{render() {return (<div><BrowserRouter><Routes><Route path="/page1" element={<NavigateComponent element={Page1} />} /><Route path="/page2" element={<NavigateComponent element={Page2} />} /></Routes></BrowserRouter></div>);}
}
/*NavigateComponent.js*/
import {useNavigate} from "react-router-dom"
function NavigateComponent(props){const navigate = useNavigate()return <div><props.element navigate={navigate} /></div>
}
//Page1.js
class Page1 extends React.Component{render() {return <div>page1<button onClick={this.handleTo}>跳转2</button></div>}handleTo =()=>{this.props.navigate("/page2")}
}

React——react-router-dom V6 使用相关推荐

  1. React Router 升级 v6: Redirect 重定向替代方案

    React Router 升级 v6: Redirect 重定向替代方案 文章目录 React Router 升级 v6: Redirect 重定向替代方案 React Router v6 Redir ...

  2. JavaScript是如何工作的:编写自己的Web开发框架 + React及其虚拟DOM原理

    摘要: 深入JS系列19. 原文:JavaScript是如何工作的:编写自己的Web开发框架 + React及其虚拟DOM原理 作者:前端小智 Fundebug经授权转载,版权归原作者所有. 这是专门 ...

  3. [react] react怎么拿到组件对应的DOM元素?

    [react] react怎么拿到组件对应的DOM元素? 在Class组件中 import React from 'react'; class CComponent extends React.Com ...

  4. [react] React中怎么操作虚拟DOM的Class属性

    [react] React中怎么操作虚拟DOM的Class属性 render() { this.debug('render ....'); this.components.push(<Atten ...

  5. 【React+TS】从零开始搭建react+typescript+router+redux+less+px2rem自适应+sass+axios反向代理+别名@+Antd-mobile

    一.通过create-react-app脚手架创建项目 npx create-react-app testproject --template typescript 在vscode中打开项目,可以看到 ...

  6. 【React+TS】从零开始搭建react+typescript+router+redux+less+pxToVw自适应+sass+axios反向代理+别名@+Antd-mobile

    一.通过create-react-app脚手架创建项目 npx create-react-app testproject --template typescript  在vscode中打开项目,可以看 ...

  7. 歌谣学前端之React中虚拟dom

    前言 我是歌谣 我有个兄弟 巅峰的时候排名c站总榜19 叫前端小歌谣 曾经我花了三年的时间创作了他 现在我要用五年的时间超越他 今天又是接近兄弟的一天人生难免坎坷 大不了从头再来 歌谣的意志是永恒的 ...

  8. react:react + dva + router + roadhog 基础项目搭建

    一.脚手架安装 第一步:全局安装 dva,这里有个条件,node 版本要 >= 6.5 且 dva-cli 版本要在 0.7x. npm install dva-cli -g 第二步:查看版本号 ...

  9. React飞行日记(七) - 在React中使用DOM操作

    ×在React中使用DOM操作 React中很少直接用到DOM操作, 因为所有的功能都可以基于数据驱动来完成, DOM是框架帮我们做的事情, 但是也有些喜欢用DOM操作的开发者, 那么看看如何在Rea ...

  10. 【学习笔记】React+React全家桶学习笔记

    文章目录 1 为什么要使用React 2 React的定义 3 React的三大特性 4 React入门 4.1 hello_react 4.2 虚拟DOM的创建 4.3 JSX 4.4 模块与组件, ...

最新文章

  1. 关于text段、data段和bss段
  2. cocos2d-xna for win8源代码轻松移植cocos-xna for wp游戏
  3. EchoesWorks —— 打造下一代技术Blog/Presentation 框架(招兵买马)
  4. 有效的数独Python解法
  5. camerax 自动聚焦_Android Camera-CameraView和CameraX使用
  6. this.getstate_Java线程类Thread.State getState()方法(带示例)
  7. 调整数组顺序使奇数位于偶数前面(剑指offer)
  8. Python实战:导出QQ聊天记录生成词云看看你和你的女友聊了什么
  9. 数独程序matlab,Matlab 求解数独的程序
  10. python 开发窗体应用程序_Python如何编写窗体程序
  11. 更改系统高亮显示颜色(highlight color)
  12. 关于计算优惠券金额的部分优化
  13. 一个软件项目经理的心得和经验
  14. mkisofs command not found
  15. 树莓派4B安装Ubuntu Server20.04(18.04)连接wifi(对于ubuntu server 99%适用)
  16. PHP如何读取txt文档域名集,并且生成数组/随机显示一个
  17. c语言的标志数组图的遍历,天津商业大学-计算机科学与技术专业-高职升本-课件5...
  18. CS硕士妹子找工作杂谈(转载,北邮)
  19. 深度学习-误差反向传播算法
  20. 怎么来解决GIS表转Excel超了65535的最大行限制

热门文章

  1. Web消息推送之SSE
  2. MyBatis框架学习笔记(3)——B站动力节点
  3. CSharp(C#)语言_委托和事件区别详解
  4. 暗暗暗暗啊暗暗暗暗啊
  5. Fabric 部署与管理
  6. 本证方程的本征值 与 特征方程的特征值 的 区别 辨析
  7. 适合有一定基础的计算机爱好者杂志,推荐《电脑爱好者》杂志!小白也很适合看!...
  8. [人工智能-深度学习-74]:环境 - Git、Github、Gitlab、Gitee区别与联系
  9. 防范IP地址攻击的有效方法
  10. 吐血整理|3D视觉系统化学习路线