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 项目还有一 ...
随机推荐
- 用GC的策略,管理团队的技术债务
在数字化时代,每一个组织的经营都是建立在数字化的系统之上的,而数字化系统的构建,必然就会带来技术债务,这是每一个数字化团队都要面临的一个问题,如何有效的管控技术债务. 技术债务的产生,是技术团队不断迭 ...
- 可迭代对象和迭代器对象以及for循环的本质
目录 一.可迭代对象 二.迭代器对象 迭代器介绍: 迭代器对象: 迭代器对象的作用 迭代器对象实操: 注意事项 三.for循环的本质 一.可迭代对象 之前我们对于for循环为什么可以遍历没有做具体解释 ...
- Javaweb-1note C/S B/S HTML CSS javaScript一点点语法
------------恢复内容开始------------ Java web概念: *javaweb:使用java语言开发基于互联网的项目 *软件架构: 1.c/s:Clienr/Server 客户 ...
- 如何查看库函数实现的某些函数(strlen,strcmp,strcpy等)
我们拿strlen()作为举例(编译环境为:VS2022) strlen()引用的头文件为 string.h,如下进行操作 ps:打开strlen.c文件 便可以看到库函数对于strlen()的实现, ...
- STM32F4库函数初始化系列:PWM输出
1 void _TIM4_Configuration(void) 2 { 3 /* TIM4 Configuration --------------------------------------- ...
- Spring事务(Transaction)管理高级篇一栈式解决开发中遇到的事务问题
Spring是目前Java开发中最流行的框架了,它的事务管理我们在开发中常常的用到,但是很多人不理解它事务的原理,导致开发中遇到事务方面的问题往往都要用很长的时间才能解决,下面就带着大家去深入了解Sp ...
- 关于联想对Jim博士的质疑
对Jim博士质疑的质疑 因为关注司马南,从他的空间里看到Jim博士和其龃龉,大致看了Jim博士头条里的文章,因为看到自己常用的EPICS,上午匆忙就写了上面的文. Jim博士是去年在头条上看到的,因为 ...
- Redhat7.6搭建LAMP环境
关闭防火墙和 selinux# systemctl stop firewalld systemctl disable firewalld 禁用 Selinux vim /etc/selinux/con ...
- day15-SpringMVC执行流程
SpringMVC执行流程 1.SpringMVC执行流程分析图 例子 (1)创建 HaloHandler package com.li.web.debug; import org.springfra ...
- TCP/IP协议(8): ICMP(Internet Control Message Protocol) 协议 ——诊断和控制 IP 协议层
TCP/IP协议(8): ICMP(Internet Control Message Protocol) 协议 --诊断和控制 IP 协议层 关于网际控制报文协议(Internet Control M ...