javascript - 如何为react.js组件onclick设置动画并检测动画的结束

标签 javascript reactjs

我希望当用户单击 DOM 元素时翻转一个 React 组件。我看到一些关于他们的动画混合的文档,但它看起来是为“进入”和“离开”事件设置的。响应某些用户输入并在动画开始和完成时收到通知的最佳方法是什么?目前我有一个列表项,我希望它翻转并显示一些按钮,例如删除、编辑、保存。也许我错过了文档中的某些内容。

动画混合

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

最佳答案

点击后,您可以更新状态、添加类并记录 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>
    )
  }
}

查看 plnkr:https://next.plnkr.co/edit/gbt0W4SQhnZILlmQ?open=Hello.js&deferRun=1&preview

编辑:更新以反射(reflect)当前的React,它支持animationend事件。

关于javascript - 如何为react.js组件onclick设置动画并检测动画的结束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24111813/

相关文章:

javascript - 如何在 React Router 中将 props 传递给 <Link> ? React.js、JavaScript

Javascript 在点击时隐藏/显示不起作用

javascript - Gulp 使用 browserSync 观看

javascript - 解析数据馈送导致 WinJS 中出现无效字符错误

javascript - 从文本区域追加值

javascript - reactjs typescript 事件未定义

javascript - 在我的 react 应用程序中获取对象中数组的所有图像

javascript - 使用 Redux react native : state changes not showing in console

reactjs - Testcafe - 如何迭代不同元素类型的选择器?

javascript - 将 Javascript 和 CSS 组合成 HTML 文件