首页 > 其他分享 >在react中要将页面跳转有动画

在react中要将页面跳转有动画

时间:2024-09-09 13:52:53浏览次数:13  
标签:opacity 动画 中要 transition transform react 跳转 page 页面


// 页面切换过渡动画
.page {
  position: absolute;
  left: 15px;
  right: 15px;
}

// 页面切换过渡动画 --- 进入
.page-enter {
  opacity: 0;
  transform: translateY(100%);
}

// 页面切换过渡动画 --- 进入(被激活)
.page-enter-active {
  opacity: 1;
  // transform: scale(1);
  transform: translateY(0);
  transition: opacity 300ms, transform 300ms;
}

// 页面切换过渡动画 --- 离开
.page-exit {
  opacity: 1;
  transform: translateY(0%);
}

// 页面切换过渡动画 --- 离开(被激活)
.page-exit-active {
  opacity: 0;
  transform: translateY(100%);
  transition: opacity 300ms, transform 300ms;
}

.tabsAnimation {
  position: absolute;
  animation: tabsIn .5s ease-in-out;
}

@keyframes tabsIn {
  from {
    transform: translateX(-100%);
  }

  to {
    transform: translateX(0%);
  }
}
import { CSSTransition, TransitionGroup } from 'react-transition-group';
<TransitionGroup>
              <CSSTransition
                key={window.location.pathname}
                timeout={300}
                classNames="page"
                unmountOnExit
              >
              <Routes >
                <Route path='' element={<Information />}></Route>
                <Route path='/Index' element={<Information />}></Route>
                <Route path='/Index/AerationControl' element={<AerationControl />}></Route>
                <Route path='/Index/AlarmManagement' element={<AlarmManagement/>}></Route>
                <Route path='/Index/SystemManagement' element={<SystemManagement/>}></Route>
              </Routes>
            </CSSTransition>
            </TransitionGroup>

npm install react-transition-group --save

react-transition-group 包住路由然后给样式 就可以达到页面跳转的时候样式动画

标签:opacity,动画,中要,transition,transform,react,跳转,page,页面
From: https://blog.51cto.com/u_15482477/11960675

相关文章

  • 在react中利用three.js 渲染模型 让鼠标拖拽是模型转动
    import{OrbitControls}from'three/examples/jsm/controls/OrbitControls';useEffect(()=>{//初始化OrbitControlsconstcontrols=newOrbitControls(camera,renderer.domElement);//设置控制参数controls.enableDamping=true;//平滑化运动c......
  • react 中three.js 模型渲染
      npminstallthreeimport*asTHREEfrom"three";import{GLTFLoader}from"three/examples/jsm/loaders/GLTFLoader.js";constmountRef=useRef(null);useEffect(()=>{//创建渲染器constrenderer=newTHREE.WebGLRender......
  • 在react 中还有另外一种three.js 渲染方式
    npminstall@react-three/drei利用标签去渲染模型importReact,{useRef,useEffect,useState}from'react';import{Canvas,useFrame,useThree,useLoader}from'@react-three/fiber';import{GLTFLoader}from'three/examples/jsm/loaders/GLT......
  • 如何使用useMemo来优化React组件的性能?
    useMemo是React提供的一个Hook,它可以用来记忆复杂计算的结果,避免在每次渲染时都进行重复计算,从而优化组件的性能。以下是如何正确使用useMemo来优化React组件性能的一些步骤:确定计算是否昂贵:仅当计算是昂贵的(即消耗大量CPU时间)时,才考虑使用useMemo。对于简单......
  • 在React类组件中使用Hooks的实践技巧
    在React类组件中使用Hooks的实践技巧在React的开发过程中,Hooks自推出以来一直备受开发者的喜爱。它提供了一种更优雅、更简洁的方式来管理状态和副作用,大大简化了函数组件的开发。对于那些已经用类组件构建了大量代码的项目来说,完全转向函数组件可能并不现实。如何在类组件中有效......
  • 在VScode-SSH中Rust工程不能代码间跳转的原因
    今天正常使用VScode-SSH访问虚拟机,但是发现读代码的时候不能使用ctrl+左键的方式跳转,然后看到Rust-Analyzer(VScode的Rust语言插件)报错.2024-09-08T02:25:28.998500ZERRORfailedtofindanyprojectsin[AbsPathBuf("/home/winddevil/App")]2024-09-08T02:25:29.002582Z......
  • 【视频教程】手把手AppWizard轻松制作一个emWin滑动主界面控制框架,任意跳转控制(2024-0
    现在的新版AppWizard已经比较好用,用户可以轻松的创建各种项目常规界面。比如早期创建一个支持滑动的主界面框架,并且可以跳转各种子界面,仅仅界面布局和各种图片格式转换都要花不少时间,而现在使用AppWizard,可以说轻轻松松,毫不费力。用户唯一要做的就是根据自己的芯片性能做一定的......
  • react 学习之从diff children看key的合理使用
    大部分优化环节react都自己在内部处理了,但有一种情况也值得开发者注意,那就是列表中key的使用,合理的使用key有助于能精确的找到用于新旧节点复用的老节点。那么我们这里来学习下react是如何diffchildren的,从源码的角度看。用几个案例来描述ReactdiffChild核心流程,react在一次更......
  • react16之前的虚拟dom数据结构简单简介
    在react16之前的版本中,虚拟dom节点的数据结构看起来大致如下constVitrualDom={type:'div',props:{class:'title'},children:[{type:'span',children:'HelloConardLi'},{type:'ul',......
  • 界面控件KendoReact中文教程 - 如何创建动态进度条?
    KendoUI致力于新的开发,来满足不断变化的需求。现在我们非常自豪地宣布,通过React框架的KendoUIJavaScript封装来支持ReactJavascript框架。KendoUIforReact能够为客户提供更好的用户体验,并且能够更快地构建更好的应用程序。KendoReact2024Q2新版下载进度条是重要的UI元......