react-路由

1.下载依赖

javascript 复制代码
npm i react-router-dom

2.配置文件 router/index.js

javascript 复制代码
import { createBrowserRouter,Navigate } from'react-router-dom';
import main from '../pages/mian';
import home from '../pages/home/index';
const routes = [
  {
    path: '/',
    Component: main,
    children: [
      // 重定向
      {
        path: '/',
        element: <Navigate to="home" replace />
      },
      {
        path: '/home',
        Component: home
      }
    ]
  }
]


export default createBrowserRouter(routes)

3.创建文件 pages/mian.js

javascript 复制代码
import React from "react";
import { Outlet } from "react-router-dom";
const main = () => {
  return (
    <div>
      <h1>Welcome to my React App!</h1>
      <p>This is the main component.</p>
      {/* 显示子文件位置 */}
      <Outlet />
    </div>
  );
}
export default main;

4.创建页面组件 pages/home/index.js

javascript 复制代码
import React from 'react';

const home = () => {
  return (
    <div>
      <h1>Home Page</h1>
      <p>Welcome to the Home Page!</p>
    </div>
  );
}
export default home

5.在入口文件App.js导入router

javascript 复制代码
import { RouterProvider } from 'react-router-dom';
import router from './router'
function App() {
  return (
    <div className='app'>
      <RouterProvider router={router}></RouterProvider>
    </div>
  );
}

export default App;

6.使用方法

javascript 复制代码
import { useLocation,useNavigate } from 'react-router-dom'

//获取路由信息
const action = useLocation()

//路由跳转
  const navigate = useNavigate()
  navigate('/home')
相关推荐
晚霞的不甘11 分钟前
Flutter for OpenHarmony 构建简洁高效的待办事项应用 实战解析
flutter·ui·前端框架·交互·鸿蒙
hedley(●'◡'●)20 分钟前
基于cesium和vue的大疆司空模仿程序
前端·javascript·vue.js·python·typescript·无人机
qq5_81151751521 分钟前
web城乡居民基本医疗信息管理系统信息管理系统源码-SpringBoot后端+Vue前端+MySQL【可直接运行】
前端·vue.js·spring boot
百思可瑞教育22 分钟前
构建自己的Vue UI组件库:从设计到发布
前端·javascript·vue.js·ui·百思可瑞教育·北京百思教育
百锦再22 分钟前
Vue高阶知识:利用 defineModel 特性开发搜索组件组合
前端·vue.js·学习·flutter·typescript·前端框架
CappuccinoRose1 小时前
JavaScript 学习文档(二)
前端·javascript·学习·数据类型·运算符·箭头函数·变量声明
这儿有一堆花1 小时前
Vue 是什么:一套为「真实业务」而生的前端框架
前端·vue.js·前端框架
全栈前端老曹1 小时前
【MongoDB】深入研究副本集与高可用性——Replica Set 架构、故障转移、读写分离
前端·javascript·数据库·mongodb·架构·nosql·副本集
NCDS程序员2 小时前
v-model: /v-model/ :(v-bind)三者核心区别
前端·javascript·vue.js
夏幻灵2 小时前
CSS三大特性:层叠、继承与优先级解析
前端·css