react项目--路由封装
import React, { lazy } from "react"; import Home from "../views/Home";
import Login from "@/views/Login";
const Page1 = lazy(() => import("../views/Page1"));
const Page2 = lazy(() => import("../views/Page2"));
const Page301 = lazy(() => import("../views/Page301")); // Navigate重定向组件
import { Navigate } from "react-router-dom"; // 路由懒加载报错:react-dom.development.js:19055 Uncaught Error: A component suspended while responding to synchronous input. This will cause the UI to be replaced with a loading indicator. To fix, updates that suspend should be wrapped with startTransition.
// 懒加载的模式需要我们给他加上一层 Loading的提示加载组件
const withLoadingComponent = (comp: JSX.Element) => (
<React.Suspense fallback={<div>Loading...</div>}>{comp}</React.Suspense>
); const routes = [
// 嵌套路由
{
path: "/",
element: <Navigate to="/page1" />,
},
{
path: "/",
element: <Home />,
children: [
{
path: "/page1",
element: withLoadingComponent(<Page1 />),
},
{
path: "/page2",
element: withLoadingComponent(<Page2 />),
},{
path: "/page3/page301",
element: withLoadingComponent(<Page301 />),
},
],
},
{
path: "/login",
element: <Login />,
},
// 错误路径跳转
{
path:"*",
element:<Navigate to="/page1" />,
}
]; export default routes;
react项目--路由封装的更多相关文章
- 七天接手react项目 系列 —— react 路由
其他章节请看: 七天接手react项目 系列 react 路由 本篇首先讲解路由原理,接着以一个基础路由示例为起点讲述路由最基础的知识,然后讲解嵌套路由.路由传参,最后讲解路由组件和一般组件的区别,以 ...
- 解决react项目中跨域和axios封装使用
最新几天学了一下react,发现了几个问题,估计新入坑的同学们也会遇到,下面我先列出来几点 1.请求跨域问题 2.如何发起请求 3.axios的简单封装 全局安装create-react-app脚手架 ...
- react项目中引入了redux后js控制路由跳转方案
如果你的项目中并没有用到redux,那本文你可以忽略 问题引入 纯粹的单页面react应用中,通过this.props.history.push('/list')就可以进行路由跳转,但是加上了redu ...
- 基于 React 封装的高德地图组件,帮助你轻松的接入地图到 React 项目中。
react-amap 这是一个基于 React 封装的高德地图组件,帮助你轻松的接入地图到 React 项目中. 文档实例预览: Github Web | Gitee Web 特性 ️ 自动加载高德地 ...
- React项目搭建与部署
React项目搭建与部署 一,介绍与需求 1.1,介绍 1.1.1,React简介 React 是一个用于构建用户界面的 JAVASCRIPT 库. React主要用于构建UI,很多人认为 React ...
- React项目
React项目 React项目搭建与部署 一,介绍与需求 1.1,介绍 1.1.1,React简介 React 是一个用于构建用户界面的 JAVASCRIPT 库. React主要用于构建UI,很多人 ...
- DvaJS构建配置React项目与使用
DvaJS构建配置React项目与使用 一,介绍与需求分析 1.1,介绍 dva 首先是一个基于redux 和redux-saga的数据流方案,然后为了简化开发体验,dva 还额外内置了react-r ...
- 前端项目优化 -Web 开发常用优化方案、Vue & React 项目优化
github github-myBlob 从输入URL到页面加载完成的整个过程 首先做 DNS 查询,如果这一步做了智能 DNS 解析的话,会提供访问速度最快的 IP 地址回来 接下来是 TCP 握手 ...
- 《Node+MongoDB+React 项目实战开发》已出版
前言 从深圳回长沙已经快4个月了,除了把车开熟练了外,并没有什么值得一提的,长沙这边要么就是连续下一个月雨,要么就是连续一个月高温暴晒,上班更是没啥子意思,长沙这边的公司和深圳落差挺大的,薪资也是断崖 ...
- 七天接手react项目 系列 —— 尾篇(antd 和 mobx)
其他章节请看: 七天接手react项目 系列 尾篇 前面我们依次学习了 react 基础知识.react 脚手架创建项目.react 路由,已经花费了不少时间,但距离接手 spug_web 项目还有一 ...
随机推荐
- 笔记:C#Datatable 根据某字段数量 自动复制该行的数量
/// <summary> /// 根据Datatable某字段数量自动复制该行查询 /// </summary> /// <param name="dt&qu ...
- FAQ 关于pip你应该知道的一些技巧
pip简介 pip是安装了python之后的一个应用程序,包管理程序,有点类似于yum.npm.apt等工具 物理位置一般是python.exe所在目录下的scripts下 以我为例,我Python安 ...
- 【Rust学习】内存安全探秘:变量的所有权、引用与借用
作者:京东零售 周凯 一.前言 Rust 语言由 Mozilla 开发,最早发布于 2014 年 9 月,是一种高效.可靠的通用高级语言.其高效不仅限于开发效率,它的执行效率也是令人称赞的,是一种少有 ...
- WinRAR的 安装与下载
一.简介 WinRAR 是一个强大的压缩文件管理工具.它能备份你的数据,减少你的 E-mail 附件的大小,解压缩从 Internet 上下载的 RAR.ZIP 和其他格式的压缩文件,并能创建 RAR ...
- Could not execute query ---> MySql.Data.MySqlClient.MySqlException: You have an error in your SQL sy
1.出现问题 执行sql查询时出现如题错误,原因是安装mysql-connector-net的版本过高,当前项目在用的mysql版本不符合:关于当前安装的mysql-connector-net版本的查 ...
- Ubuntu vmware共享文件夹自动挂载
自动挂载 修改/etc/fstab,加入如下内容 .host:/ /mnt/hgfs fuse.vmhgfs-fuse allow_other,defaults 0 0 手动挂载 修改/etc/fst ...
- 黑群晖NAS、windows server服务器内网穿透
推荐一个套件: http://nas.8x6x.com/ 远程速度大概3m每秒,一月10元,很好用. 怎么使用里面有教程,这里暂时不更新. 2022.10.16更新 目前已经卸载了群辉系统,换了win ...
- Centos7基础知识--------创建文件夹、彻底删除文件夹、文件命令
转载博客园: https://www.cnblogs.com/guns/p/13807285.html
- C#泛型接口请求封装类
using HttpUtil; using Newtonsoft.Json; using System; using System.Collections.Generic; using System. ...
- leaflet动态加载/手动绘制(圆、多边形)demo
<script src="https://code.jquery.com/jquery-3.6.0.min.js" integrity="sha256-/xUj+3 ...