react-router-dom v6版本跳转路径的实现方法

 更新时间:2024年03月14日 09:41:44   作者:前端学习冲冲冲  
这篇文章主要介绍了react-router-dom v6版本跳转路径的实现方法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

react-router-dom v6版本跳转路径

说明

在V5中,可以通过withRouter包裹当前组件使得当前组件可以拥有其根组件的props属性,也即可以拿到history对象等

但在V6版本中,使用了useNavigate代替withRouter,当需要路由跳转时,可以更快捷的使用

使用示例

1.引入useNavigate并且定义一个navigate


在这里插入图片描述

2.在需要点击跳转路由的地方,直接在点击事件中使用navigate(),括号内加入需要跳转的路由path即可正常跳转

react-router-domV6版本在js文件使用history跳转

1.在 utils 下面 创建 history.js  

// utils/history.js
import { createBrowserHistory } from "history";
export const customHistory = createBrowserHistory()

2. 在 App.tsx 中引入 unstable_HistoryRouter 和 customHistory。

3.在 unstable_HistoryRouter 组件的 history 属性上把 customHistory 传递过去。

// App.tsx
import { unstable_HistoryRouter as Router, Route, Routes, Navigate } from 'react-router-dom';
import Layout from '@/pages/Layout';
import Login from './pages/Login';
import {customHistory} from '@/utils/history'
import './App.scss';
function App() {
  return (
    <div className="App">
      <Router history={customHistory}>
        <Routes>
          <Route path="/" element={<Navigate to="/home" />}></Route>
          <Route path="/home" element={<Layout />}></Route>
          <Route path="/login" element={<Login />}></Route>
        </Routes>
      </Router>
    </div>
  );
}
 
export default App;

4.然后,就可以在非组件环境下通过 customHistory 进行路由跳转等操作了。比如,在 http.js 。

import { customHistory } from '@/utils/history'
 
customHistory.push('/login')
 <unstable_HistoryRouter>

提供一个将history作为prop的实例对象。可以使用它在非React的上下文环境或全局变量中使用Router。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • React更新渲染原理深入分析

    React更新渲染原理深入分析

    什么是re-render(重新渲染)?哪些是必要的re-render?哪些是非必要的re-render?如果你对这些问题还不是很明白,那么可以在这篇文章中找到答案
    2022-12-12
  • ahooks解决用户多次提交方法示例

    ahooks解决用户多次提交方法示例

    这篇文章主要为大家介绍了ahooks解决用户多次提交的方法示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-07-07
  • React父子组件间的通信是怎样进行的

    React父子组件间的通信是怎样进行的

    这篇文章主要介绍了React中父子组件通信详解,在父组件中,为子组件添加属性数据,即可实现父组件向子组件通信,文章通过围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2023-03-03
  • 基于webpack开发react-cli的详细步骤

    基于webpack开发react-cli的详细步骤

    这篇文章主要介绍了基于webpack开发react-cli的详细步骤,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-06-06
  • Remix后台开发之remix-antd-admin配置过程

    Remix后台开发之remix-antd-admin配置过程

    这篇文章主要为大家介绍了Remix后台开发之remix-antd-admin配置过程详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-04-04
  • React组件通信浅析

    React组件通信浅析

    这篇文章主要介绍了React组件通信,在开发中组件通信是React中的一个重要的知识点,本文通过实例代码给大家讲解react中常用的父子、跨组件通信的方法,需要的朋友可以参考下
    2022-12-12
  • react数据管理中的setState与Props详解

    react数据管理中的setState与Props详解

    setState 是 React 中用于更新组件状态(state)的方法,本文给大家介绍react数据管理中的setState与Props知识,感兴趣的朋友跟随小编一起看看吧
    2023-10-10
  • React useContext与useReducer函数组件使用

    React useContext与useReducer函数组件使用

    useContext和useReducer 可以用来减少层级使用, useContext,可以理解为供货商提供一个公共的共享值,然后下面的消费者去接受共享值,只有一个供货商,而有多个消费者,可以达到共享的状态改变的目的
    2023-02-02
  • React结合Drag API实现拖拽示例详解

    React结合Drag API实现拖拽示例详解

    这篇文章主要为大家介绍了React结合Drag API实现拖拽示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-03-03
  • React深入分析更新的创建源码

    React深入分析更新的创建源码

    React组件分为函数组件与class组件;函数组件是无状态组件,class称为类组件;函数组件只有props,没有自己的私有数据和生命周期函数;class组件有自己私有数据(this.state)和生命周期函数
    2023-01-01

最新评论