zoukankan      html  css  js  c++  java
  • react 利用高阶组件给页面加上动画

    利用高阶组件给页面加上动画

    并不想让所有的路由都有动画效果,只是想对指定的页面有路由切换效果,可以利用高阶组件来完成。

    # 定义高阶组件

    import React, { Component } from 'react'

    import { CSSTransition } from 'react-transition-group'

    import '../assets/animate.css'

     

    const withAnimation = Cmp => {

      return class extends Component {

        render() {

          return (

            <CSSTransition

              in={this.props.match !== null}

              timeout={600}

              classNames={{

                enter: 'animated',

                enterActive: 'fadeInDown',

                exit: 'animated',

                exitActive: 'fadeOutDown'

              }}

              unmountOnExit

            >

              <Cmp {...this.props} />

            </CSSTransition>

          )

        }

      }

    }

     

    export default withAnimation

     

    # 使用

    const Page = withAnimation(

      class Page extends Component {

     

        render() {

          return <div>高阶组件完成路由切换动画效果</div>

        }

      }

    )

     

     

    <Route path="/home" children={props => <Page {...props} />} />

    App.jsx文件

    高阶组件定义

    需要页面组件中使用高阶组件包裹

    右侧打赏一下 代码改变世界一块二块也是爱
  • 相关阅读:
    Liskov替换原则
    OCP开放封闭原则
    SRC单一职责原则
    什么是敏捷设计
    [WCF编程]13.并发:服务并发模式
    [WCF编程]12.事务:服务事务编程(下)
    [WCF编程]12.事务:服务事务编程(上)
    [WCF编程]12.事务:Transaction类
    [WCF编程]12.事务:事务传播
    [WCF编程]12.事务:事务协议与管理器
  • 原文地址:https://www.cnblogs.com/ht955/p/14922871.html
Copyright © 2011-2022 走看看