react18+react-transition-group实现路由切换过度

news2024/11/25 18:52:41

效果如下
请添加图片描述
官网安装对应的插件

创建对应的样式

.fade-enter {
  opacity: 0;
}
.fade-exit {
  opacity: 1;
}
.fade-enter-active {
  opacity: 1;
}
.fade-exit-active {
  opacity: 0;
}
.fade-enter-active,
.fade-exit-active {
  transition: opacity 500ms;
}
  const location = useLocation();
  const currentOutlet = useOutlet();
  const nodeRef = useRef(null);
            {/* 二级路由 */}
            <SwitchTransition mode="out-in">
              <CSSTransition
                key={location.pathname}
                timeout={300}
                classNames="fade"
                nodeRef={nodeRef}
              >
                <div ref={nodeRef} className="fade">
                  {currentOutlet}
                </div>
              </CSSTransition>
            </SwitchTransition>

原先项目中我的nodeRef引用是放路由表中每一项,然后每次进入页面的时候,遍历路由表取当前路由的nodeRef属性,这次我发现直接创建nodeRef就可以(原先是想每一个路由进入创建唯一的一个ref实例),这里必须有ref,否则控制台报错。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2210731.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

WSL(Windows Subsystem for Linux)——简单的双系统开发

文章目录 WSLWSL的作用WSL的使用WSL的安装挂载磁盘的作用安装linux发行版wsl下载mysql&#xff0c;mongodb&#xff0c;redis WSL 前言&#xff1a;本人由于在开发中需要linux环境&#xff0c;同时还想要直接在Windows下开发&#xff0c;来提升开发效率&#xff0c;随即简单学…

【问题分析】使用gperftools分析排查内存问题

背景 当程序长时间允许时(压测、服务器程序)&#xff0c;就会面临更大的挑战&#xff0c;其中内存泄漏就是一类典型的问题&#xff0c;内存泄漏往往不易发现&#xff0c;导致的现象更是千奇百怪&#xff0c;本文主要介绍如何借助gperftools分析一个模块的内存泄漏 案例代码 …

SpringBoot框架在高校竞赛管理中的创新应用

3系统分析 3.1可行性分析 通过对本高校学科竞赛平台实行的目的初步调查和分析&#xff0c;提出可行性方案并对其一一进行论证。我们在这里主要从技术可行性、经济可行性、操作可行性等方面进行分析。 3.1.1技术可行性 本高校学科竞赛平台采用SSM框架&#xff0c;JAVA作为开发语…

编译/引导EDK2 树莓派4

格蠹的幽兰代码本(RK3588)支持UEFI启动&#xff0c;在阅读RK3588代码的时候发现EDK2也对树莓派系列进行了支持。经过一番尝试&#xff0c;借助幽兰&#xff0c;我也在树莓派上bringup EFI bios(只能引导到Bios setup界面&#xff0c;不知道如何安装OS)&#xff0c;在此记录SOP。…

1.Label Studio 介绍

Label Studio 介绍 文章目录 Label Studio 介绍前言一、安装介绍二、Run with Docker Compose1、WSL2安装2、Docker Desktop安装3、Label Studio安装&#xff08;第二种方法 Run with Docker Compose &#xff09; 三、Install for local development1.下载源码2.安装poetry3.安…

YOLO11改进 | 注意力机制 | 用于增强小目标感受野的RFEM

秋招面试专栏推荐 &#xff1a;深度学习算法工程师面试问题总结【百面算法工程师】——点击即可跳转 &#x1f4a1;&#x1f4a1;&#x1f4a1;本专栏所有程序均经过测试&#xff0c;可成功执行&#x1f4a1;&#x1f4a1;&#x1f4a1; 近年来&#xff0c;基于深度学习的人脸检…

【计算机网络】计算机网络相关术语

文章目录 NAT概述NAT的基本概念NAT的工作原理1. **基本NAT&#xff08;静态NAT&#xff09;**2. **动态NAT**3. **NAPT&#xff08;网络地址端口转换&#xff0c;也称为PAT&#xff09;** 底层实现原理1. **数据包处理**2. **转换表**3. **超时机制** NAT的优点NAT的缺点总结 P…

vue3 高德地图标注(飞线,呼吸点)效果

装下这两个 npm 忘了具体命令了&#xff0c;百度一下就行 “loca”: “^1.0.1”, “amap/amap-jsapi-loader”: “^1.0.1”, <template><div id"map" style"width: 100%;height: 100%;"></div> </template><script setup> …

linux 下 verilog 简明开发环境附简单实例

author: hjjdebug date: 2024年 10月 12日 星期六 10:34:13 CST descripton: linux 下 verilog 简明开发环境附简单实例 甲: 安装软件 1. sudo apt install iverilog 该包verilog 源代码的编译器iverilog&#xff0c;其输出是可执行的仿真文件格式vvp格式 它可以检查源代码中…

ubuntu20.4环境下gcc-aarch64交叉编译器的安装

交叉编译器&#xff08;Linux环境&#xff09;arm gcc 8.3一共有5个版本&#xff0c;常用的有4个版本&#xff08;另外一个为大端linux版本&#xff09;&#xff0c;分别是32bit裸机版本&#xff08;arm-eabi&#xff09;、64bit裸机版本&#xff08;aarch64-elf&#xff09;、…

4. 单例模式线程安全问题--是否加锁

单例模式线程安全问题--是否加锁 是否加锁问题指什么&#xff1f;解决多线程并发来带的问题继承MonoBehaviour的单例模式不继承MonoBehaviour的单例模式 总结 是否加锁问题指什么&#xff1f; 如果程序当中存在多线程&#xff0c;我们需要考虑当多个线程同时访问同一个内存空间…

【Java】面向UDP接口的网络编程

【Java】面向UDP接口的网络编程 一. 基本通信模型二. APIDatagramSocketDatagramPacket 三. 回显服务器/客户端示例服务器客户端总结 一. 基本通信模型 UDP协议是面向数据报的&#xff0c;因此此处要构建数据报(Datagram)在进行发送。 二. API DatagramSocket DatagramSocke…

Ubuntu 24.04 在 BPI-F3 上通过 SD 卡安装并从 NVME 运行

github 代码&#xff1a; https://github.com/rcman/BPI-F3 Ubuntu 24.04 现在正在我的 BPI-F3 上运行。很快会为 YouTube 制作一个视频。 这应该适用于任何版本的 Linux&#xff0c;仅在 Ubuntu 24.04 上测试过 入门 下载 Bianbu映像并使用您最喜欢的工具将其映像到微型 SD 卡…

进程 vs 线程:你需要知道的关键区别

“大树根深&#xff0c;才能迎风而立。” 进程&#xff1a;计算机中正在执行的程序的实例&#xff0c;它是操作系统进行资源分配的基本单位。 通过写特殊代码&#xff0c;把多个 CPU 核心都能利用起来&#xff0c;这样的代码就称为“并发编程”。 虽然多进程能够解决问题&…

PHP商会招商项目系统一站式服务助力企业腾飞

商会招商项目系统——一站式服务&#xff0c;助力企业腾飞 &#x1f680;&#x1f4bc; &#x1f680; 开篇&#xff1a;企业成长的加速器&#xff0c;商会招商项目系统来袭 在竞争激烈的市场环境中&#xff0c;企业如何快速找到适合自己的发展路径&#xff0c;实现腾飞&…

CUDA(C)磁态蒙特卡洛和传输矩阵多GPU并行计算分析

&#x1f3af;要点 使用英伟达GPU、大都会和并行回火算法模拟蒙特卡洛。使用兰佐斯算法计算传输矩阵特征值。使用 Suzuki-Trotter 公式归一化量子无序系统。算法模型特征&#xff1a;多CUDA线程&#xff0c;多GPU和多任务式并行计算。 &#x1f341;磁态分析角度 Python和MA…

BUUCTF-[2019红帽杯]easyRE(Reverse逆向)

第一步 查壳 如图&#xff0c;无壳&#xff0c;ELF文件 第二步 IDA 64位IDA&#xff0c;无法直定位到主函数F5&#xff0c;所以使用&#xff0c;查找关键字符串定位主函数大法ShiftF12 发现这些关键字符串&#xff0c;双击上图蓝色字符串&#xff0c; 然后交叉引用CtrlX跟踪 …

硬件-示波器-巧用触发功能捕捉不连续的信号波形

文章目录 一&#xff1a;使用示波器的信号触发功能二&#xff1a;介绍示波器触发模式界面2.1 触发模式的AUTO档2.2 触发模式的Normal档&#xff08;普通档&#xff09;2.3 触发模式的single档&#xff08;单次触发档&#xff09; 三&#xff1a;在多通道的情况下&#xff0c;选…

电鳗带来灵感,防潮电源诞生,全打印技术的魅力

大家好&#xff01;今天来了解一项受电鳗启发的防潮完全可打印电源的研究——《A moisture-enabled fully printable power source inspired by electric eels》发表于《PNAS》。随着可穿戴电子设备的发展&#xff0c;对安全、一次性且具成本效益的电源需求大增。传统电池存在不…

react native 与 react.js 的区别

React.js ReactJS是一个 JavaScript 库&#xff0c;支持前端 Web 和在服务器上运行&#xff0c;用于构建用户界面和 Web 应用程序。 它主要重点是Web 开发&#xff0c;遵循可重用组件的概念。 React 的虚拟 DOM 比传统的完全刷新模型更快&#xff0c;因为虚拟 DOM 只刷新页面的…