react 路由v6

news/2024/7/15 19:36:29 标签: react.js, 前端, 前端框架

这里是区别:V5 vs V6
这里是官网:可以查看更多高级属性

一、基本使用:

1、配置文件

src/routes/index


import React from "react";

const Home = React.lazy(() => import("../Pages/Home"));
const About = React.lazy(() => import("../Pages/About"));

const routes = [
  {
    path: "/home",
    name: "home",
    element: <Home></Home>,
  },
  {
    path: "/about",
    name: "about",
    element: <About></About>,
  },
];

export default routes
2. 使用路由方式1

src / App.js
useRoutes可以代替标签完成:

  • 注册路由,完成路由和组件的匹配
  • 自动根据当前路径匹配一个组件
  • 给当前路由组件指定展示位置,就是elements所处的位置
import { useRoutes } from "react-router";
import routes from "./routes";

function App() {
  const elements = useRoutes(routes);

  return (
    <div className="App">
      <h3>{导航区...} </h3>
      {elements}
    </div>
  );
}

export default App;

src / main.js
注意:

<BrowserRouter>必须存在,包裹最外层奥

const root = ReactDOM.createRoot(document.getElementById("root"));
root.render(
      <BrowserRouter>
        <App />
      </BrowserRouter>
);

3、使用路由表的方式2

在这里插入图片描述

二、一些比较诡异的东西

1. outlet

概述:用于父路由组件中,作用给子路由组件站位用的。

本来v5中不是用的 Router等可以在不同的地方注册和占位吗?。现在 更推荐 函数式和 对象了 详见上文1.2. 使用路由方式1 。 那么此时只能站位一次了。更深层次的路由组件往哪里展示呢?就用到了 outlet。

参考:outlet

2. index:true

概述:就是说 我的父级路由 并不真实的对应一个组件,但是此时若用户自己手动改到这个父级的路由,应该展示的内容,就是后边的element

官网链接
在这里插入图片描述


http://www.niftyadmin.cn/n/5285601.html

相关文章

【Spring】SpringBoot 配置文件

文章目录 什么是配置文件SpringBoot配置文件配置文件快速入手配置文件的格式properties 配置文件说明properties 基本语法读取配置文件信息properties 配置格式缺点 yml 配置文件说明yml 基本语法使用 yml 连接数据库 yml 使用进阶yml 配置不同数据类型配置对象配置集合配置Map…

Python-Mac格式转换脚本

一、原因&#xff1a; 将c4:ef:da:12:5c:53 变为 c4ef-da12-5c53 二、代码 import remac_addresses []# Read the file with open(client_list.txt, r) as file:# Read file contents into a listmac_addresses [line.strip() for line in file]# Process and print MAC add…

[每周一更]-(第35期):为何要用ChatGPT?

为何要用ChatGPT&#xff1f;因为她是工具&#xff0c;而人类需要工具&#xff1b; AI只要没有自主目的性的话就是工具&#xff0c;需要怕的是使用这个工具的人。掌握了提问的艺术&#xff0c;更好利用AI帮助我们完成目标&#xff1b; 最开始2022/12/07 开始注册ChatGPT使用&a…

使用TLS/SSL Pinning保护安卓应用程序

使用TLS/SSL Pinning保护安卓应用程序 在现代术语中&#xff0c;“SSL”&#xff08;安全套接层&#xff09;通常指的是“TLS”&#xff08;传输层安全&#xff09;。虽然 SSL 和 TLS 不是同一个东西&#xff0c;但 TLS 是 SSL 的改进和更安全的版本&#xff0c;并且在实践中已…

AB测试:优化决策的关键工具

引言&#xff1a; 在当今竞争激烈的商业环境中&#xff0c;企业需要不断寻找创新的方法来提高产品或服务的质量和用户体验。而AB测试作为一种强大的数据驱动方法&#xff0c;被广泛应用于各个领域&#xff0c;帮助企业做出更明智的决策。本文将详细介绍AB测试的概念、原理以及应…

Vue在页面上添加水印

第一步&#xff1a;在自己的项目里创建一个js文件&#xff1b;如图所示我在在watermark文件中创建了一个名为waterMark.js文件。 waterMark.js /** 水印添加方法 */ let setWatermark (str1, str2) > {let id 1.23452384164.123412415if (document.getElementById(id) …

运动轨迹仿真

重型运载火箭轨迹/总体参数一体化优化方法 硬核推导火箭运动方程&#xff0c;并用python仿真实现 rocket-simulation:MATLAB-火箭仿真软件 MatRockSim:Matlab 火箭飞行模拟器 【开源】飞鹰一号探空火箭——箭体设计、制造回顾与仿真对比 偏航角&#xff0c;滚动角&#xf…

drf视图组件

Django REST framwork 提供的视图的主要作用&#xff1a; 控制序列化器的执行&#xff08;检验、保存、转换数据&#xff09;控制数据库查询的执行 1.1 视图继承关系 视图的方法与属性&#xff1a; 1.2 视图 REST framework 提供了众多的通用视图基类与扩展类&#xff0c;以…