如何在onclick上设置react.js组件的动画并检测动画的结束

 民主公园 发布于 2023-01-11 05:22

当用户点击DOM元素时,我希望反应组件翻转.我看到一些关于他们的动画mixin的文档,但它看起来设置为"enter"和"leave"事件.响应某些用户输入的最佳方法是什么,并在动画开始和完成时收到通知?目前我有一个列表项,我希望它翻转显示一些按钮,如删除,编辑,保存.也许我在文档中遗漏了一些东西.

动画mixin

http://facebook.github.io/react/docs/animation.html

2 个回答
  • React使用合成事件,其中包括动画事件.文档在这里找到:https://reactjs.org/docs/events.html#animation-events.我更新了以下接受的答案:

    class ClickMe extends React.Component {
      state = {fade: false};
    
      render () {
        const {fade} = this.state;
    
        return (
          <button
            onClick={() => this.setState({fade: true})}
            onAnimationEnd={() => this.setState({fade: false})}
            className={fade ? 'fade' : ''}>
              Click me!
          </button>
        )
      }
    }
    

    2023-01-11 05:57 回答
  • 点击后,您可以更新状态,添加课程并记录animationend事件.

    class ClickMe extends React.Component {
      constructor(props) {
        super(props)
        this.state = { fade: false }
      }
      render() {
        const fade = this.state.fade
    
        return (
          <button
            ref='button'
            onClick={() => this.setState({ fade: true })}
            onAnimationEnd={() => this.setState({ fade: false })}
            className={fade ? 'fade' : ''}>
            Click me!
          </button>
        )
      }
    }
    

    请参阅jsfiddle:https://jsfiddle.net/9eqpfv0k/1/

    2023-01-11 06:09 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有