当前位置: 首页 > news >正文

react实现路由跳转动画

下载插件

npm i react-transition-group

配置路由

import { createBrowserRouter as ReactRouter,Navigate } from "react-router-dom";import App from '../App.js'
import Login from "../view/login.js";
import Home from "../home.js";
const router = ReactRouter([{path:"/",element:<App />,children:[{path:'/login',element:<Login />},{path:"/home",element:<Home />}]},])export default router

app组件中引入并使用

import React from 'react';
import { CSSTransition, TransitionGroup } from 'react-transition-group'
import router from './router';
import { Outlet } from 'react-router-dom'
import { useLocation } from 'react-router-dom'
import './aa.scss'
const App = () => {return (<div><TransitionGroup className='transition_wrapper' style={{ width: "100%", height: "100%" }}><CSSTransition key={useLocation().pathname} unmountOnExit timeout={2000} classNames='animate'><Outlet></Outlet></CSSTransition></TransitionGroup></div>);
}export default App;

引入动画样式

/* 入场动画过程 */
.animate-enter{opacity: 0;transform: translateX(100%);}.animate-enter-active{transition: 2s;opacity: 1;transform: translateX(0px);}.animate-enter-done{opacity: 1;transform: translateX(0px);}/* 出场动画过程 */.animate-exit{opacity: 1;transform: translateX(0);}.animate-exit-active{transition: 0s;opacity: 0;transform: translateX(-100%);}.animate-exit-done{opacity: 0;transform: translateX(-100%);}

实现效果

http://www.lryc.cn/news/96237.html

相关文章:

  • (二)RabbitMQ【安装Erlang、安装RabbitMQ 、账户管理、管控台、Docker安装 】
  • springboot mybatis-plus 多数据源配置(HikariCP)
  • 跃焱邵隼网站demo
  • 3. Spring 更简单的读取和存储对象(五大类注解 方法注解)
  • TypeScript基础篇 - 泛型
  • C++ 常量
  • 智安网络|实现数据安全:探索数据动态脱敏的落地策略
  • 全加器(多位)的实现
  • Clion开发stm32之微妙延迟(采用nop指令实现)
  • Spring MVC -- 获取参数(普通对象+JSON对象+URL地址参数+文件+Cookie/Session/Header)
  • Langchain 的 Conversation summary memory
  • Safari 查看 http 请求
  • kafka权限控制功能
  • 公司内部重要文件如何加密防止泄露?
  • C语言或Java-x型图案
  • FTP客户端登录报错:Login failed
  • Linux相关指令(上)
  • 电压放大器在管道缺陷检测中应用有哪些
  • NLP(六十二)HuggingFace中的Datasets使用
  • Windows下基于VSCode搭建C++开发环境(包含整合MinGW64、CMake的详细流程)
  • springboot+mybatis-plus+vue+element+vant2实现短视频网站,模拟西瓜视频移动端
  • MySQL学习-第二部分
  • TortoiseGit 入门指南17:使用子模块
  • 谷粒商城篇章5 ---- P173-P192 ---- 检索服务【分布式高级篇二】
  • N位分频器的实现
  • 华为OD真题--分苹果-带答案
  • 【前端实习评审】对小说详情模块更新的后端接口压力流程进行了人群优化
  • Factorization Machines(论文笔记)
  • Qt开发(5)——使用QTimer定时触发槽函数
  • 2023年JAVA最新面试题