React 路由使用-详细介绍

路由初使用

抽象路由模块

src\page\Article\index.js

js 复制代码
const Article = () => {
  return (
    <div>
      <p>文章页</p>
    </div>
  );
};

export default Article;

src\router\index.js

js 复制代码
// 导入页面
import Article from "../page/Article";
import Login from "../page/LogIn";

import { createBrowserRouter } from "react-router-dom";

// 创建 router 实例对象并配置路由对应关系
const router = createBrowserRouter([
  { path: "/login", element: <Login /> },
  { path: "/article", element: <Article /> },
]);

export default router;

src\index.js

js 复制代码
import React from "react";
import ReactDOM from "react-dom/client";
import "./index.css";
import reportWebVitals from "./reportWebVitals";

/*
前端路由
一个路径 path 对应一个组件 component 当我们在浏览器中访问一个 path 的时候,path 对应的组件会在页面中进行渲染
*/
import { RouterProvider } from "react-router-dom";
// 导入路由
import router from "./router";

const root = ReactDOM.createRoot(document.getElementById("root"));
root.render(
  <React.StrictMode>
    <RouterProvider router={router}></RouterProvider>
  </React.StrictMode>
);

reportWebVitals();

跳转传参

跳转的两种方式

方式一:声明式导航跳转,原理是转换为 a 标签了

js 复制代码
      <Link to="/login">跳转到登录</Link>

方式二:命令式导航, 编程式导航是指通过useNavigate"钩子得到导航方法,然后通过调用方法以命令式的形式进行路由跳转,比如想在登录请求完毕之后跳转就可以选择这种方式,更加灵活

语法说明:通过调用navigate方法传入地址path实现跳转

js 复制代码
      <button onClick={() => navigate("/login")}>跳转登录</button>

传参的两种方式

方式一

传参

接收

方式二

配置

传参

接收

配置嵌套路由

children 用来配置路由的嵌套,Outlet 是嵌套路由的出口

使用路由

相关推荐
花开盛夏^.^4 小时前
电脑打开多个浏览器Web窗口占用较大的运行内存的原因
前端·浏览器
馒头不想说话5 小时前
实体店老板的24小时AI运营员工,写、剪、发全自动,省下一整个团队工资
前端
椒哥8 小时前
一天被问几十次"允许",我统计了 517 次,然后写了个插件
前端·javascript·github
风骏时光牛马8 小时前
生成一个AI稳定性治理及疑难问题分析标题,只需要一个标题,不需要其他的任何文本。
前端
莫西干式秃头8 小时前
用 AI + threejs 写了个浏览器里的 3D 动作游戏《武来》:砍怪、放技能、开 SU7
前端·人工智能·three.js
kyriewen8 小时前
我测了 6 种防请求竞态的写法:只有 1 种真能打
前端·javascript·程序员
孟健8 小时前
用 WorkBuddy 做个人名片网页,挂上开源设计技能后效果完全不同了
前端·人工智能·ai编程
IT_陈寒8 小时前
SpringBoot自动配置的坑,这次终于爬出来了
前端·人工智能·后端
LuHang9 小时前
从天地图切换到高德地图:一次真实的底图迁移实战
前端·vue.js·cesium
用户360055579009 小时前
Kestrel_VLLM - 27 · 寄存器常驻与融合发射:两次「少发一次」
前端