React-Router-dom@6模块化使用

简介: React-Router-dom@6模块化使用

React-Router-dom@6模块化使用

!!!多的不说,先看效果,再上代码

React-router@6路由演示

1、基本介绍

本演示案例使用vite构建的react项目

1-1、使用vite快速构建React项目

npm create vite@latest React-demo

然后选择React回车

打开项目需要npm i安装一下依赖

运行项目npm run dev

2、在router/index.jsx中

import Home from "../components/Home.jsx";
import About from "../components/About.jsx";
import {Navigate} from "react-router-dom";
import Vue from "../components/Vue.jsx";
import ReactCorse from "../components/ReactCorse.jsx";
const Router = [
    {
        path:'/',
        element: <Navigate to={'/home'}/>
    },
    {
        path: '/home',
        element:<Home/>
    },
    /**
     *  用于重定向
     *      默认显示about下的vue组件
     * */
    {
        path: '/about',
        element: <Navigate to={'/about/vue'}/>,
    },
    {
        path: '/about',
        element: <About/>,
        children:[
            {
                path:'vue',
                element: <Vue/>
            },
            {
                path: 'react',
                element: <ReactCorse/>
            }
        ]
    }
]
export default Router;

3、main.jsx中

import React from 'react'
import ReactDOM from 'react-dom/client'
import App from './App.jsx'
import {BrowserRouter} from "react-router-dom";
ReactDOM.createRoot(document.getElementById('root')).render(
  <BrowserRouter>
    <App />
  </BrowserRouter>,
)

4、App,jsx中

import React from 'react';
import {useRoutes} from "react-router-dom";
import Router from "./route/index.jsx";
const App = () => {
    return (
        <>
            {useRoutes(Router)}
        </>
    );
};
export default App;

5、components/Home.jsx组件中

import React from 'react';
import {useNavigate} from "react-router-dom";
const Home = () => {
    const navigate = useNavigate()
    return (
        <div className={'Home'}>
            <h2>Home</h2>
            <button onClick={()=>navigate('/about')}>去about</button>
        </div>
    );
};
export default Home;

6、components/About.jsx组件中

import React from 'react';
import {NavLink, Outlet, useNavigate} from "react-router-dom";
import '../assets/css/About.scss'
const About = () => {
    const navigate = useNavigate()
    return (
        <div>
            <h2>About</h2>
            <button
                onClick={()=>navigate('/')}
            >返回</button>
            <div>
                <NavLink to={'vue'}>Vue</NavLink>
                <NavLink to={'react'}>React</NavLink>
            </div>
      {/*about下的二级路由视图*/}
            <Outlet/>
        </div>
    );
};
export default About;

7、components/VueCourse.jsx组件中

import React from 'react';
const VueCourse = () => {
    return (
        <div>
            <h3>Vue课程</h3>
        </div>
    );
};
export default VueCourse;

8、components/ReactCourse.jsx组件中

import React from 'react';
const ReactCourse = () => {
    return (
        <div>
            <h3>React课程</h3>
        </div>
    );
};
export default ReactCourse;
相关文章
|
4月前
|
存储 资源调度 前端开发
React原理 即 React路由基础
React原理 即 React路由基础
52 1
|
18天前
|
资源调度 前端开发 JavaScript
React Router:React应用的路由管理
【4月更文挑战第25天】React Router是React的官方路由库,用于管理SPA的路由。它基于组件,将URL映射到React组件,核心概念包括路由、链接和导航。设置路由时,在根组件中使用BrowserRouter或HashRouter,包裹Routes组件,定义Route规则。Link组件用于创建内部链接,实现导航。高级特性包括嵌套路由、参数化路由和编程式导航,如子路由、动态参数和JavaScript控制的导航。掌握React Router能帮助开发者更高效地构建复杂的React应用。
|
10月前
|
前端开发
react总结之react-router-dom
react总结之react-router-dom
|
8月前
|
缓存 移动开发 前端开发
【React】react-router 路由详解
【React】react-router 路由详解
264 1
【React】react-router 路由详解
|
9月前
|
前端开发
【react 中router v6 与 v5 区别】
【react 中router v6 与 v5 区别】
|
10月前
|
前端开发 网络架构
【React】React-router路由
React-router路由
62 0
|
10月前
|
前端开发 JavaScript API
react-router与react-router-dom区别
React 是一个流行的JavaScript库,用于构建用户界面,而`React Router`是为 React 应用程序提供路由功能的常用解决方案之一。 React Router是一个用于构建路由的库,它提供了核心的API,例如`Router`、`Route`和`Switch`。它允许开发者将不同的组件与特定的URL路径相关联,并根据用户的导航选择加载相应的组件。React Router通过管理URL的变化,帮助我们在单页应用程序中实现导航和路由。 然而,React Router本身并没有提供直接操作DOM进行路由跳转的API。这就是`React Router DOM`的出现背景。
214 0
|
12月前
|
存储 JavaScript 前端开发
|
12月前
|
移动开发 资源调度 前端开发
|
前端开发 JavaScript
react-router-dom 《react 前端》
要理解什么是 React-Router 就要先理解什么是 SPA (Single Page Application),也就是俗称的单页应用。 每个单页应用其实是一系列的 JS 文件,当用户请求网站时,网站返回一整个(或一系列)的 js 文件和 HTML,而当用户在某个页面内点击时,你需要告诉浏览器怎么加载另一个页面地址。单页应用中通常只有一个 index.html 文件的,所以浏览器自带的 <a> 链接 tag 并不能用来做单页应用的跳转,因此你需要一个在 React 中的路由实现。 然而 React 框架本身是不带路由功能的,因此如果你需要实现路由功能让用户可以在多个单页应用中跳转的话,
148 0
react-router-dom 《react 前端》