登录跳转动画效果

该代码示例展示了如何在React应用中结合react-transition-group库,创建CSS过渡效果,实现在/login和/home路由间的平滑页面切换。当路由改变时,元素会通过CSSTransition组件以slide类名进行进入和退出的动画效果。
摘要由CSDN通过智能技术生成

父组件

import './App.css';
import { TransitionGroup, CSSTransition } from "react-transition-group";
import { BrowserRouter as Router, Route, Switch,Redirect,withRouter } from 'react-router-dom'
import Login from './view/login';
import Home from './view/home.js';
function App() {
  const AnimatedSwitch = withRouter(({ location }) => (
    <TransitionGroup>
      <CSSTransition key={location.key} classNames="slide" timeout={300}>
      <Switch>
          <Route path='/login' component={Login} />
          <Route path='/home' component={Home} />
          <Redirect from='/' to='/login' />
        </Switch>
      </CSSTransition>
    </TransitionGroup>
  ));
  return (
    <>
      <Router>
        <AnimatedSwitch />
      </Router>
    </>
  );
}
export default App;

 css

.slide-enter {
  opacity: 0;
  transform: translateX(100%);
}
.slide-enter-active {
  opacity: 3;
  transition: all 300ms ease-in-out;
  transform: translateX(0);
}
.slide-exit {
  opacity: 3;
  transform: translateX(0);
}
.slide-exit-active {
  opacity: 0;
  transition: all 300ms ease-in-out;
  transform: translateX(-100%);
}
 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值