我一直在寻找在使用 Coffeescript 的 RoR 应用程序中使用 ReactJS 动画的解决方案。
我试过这个(assets/javascript/components/sidebar/teams_form.js.jsx.coffee):
ReactCSSTransitionGroup = React.addons.CSSTransitionGroup
@TeamForm = React.createClass
render: ->
`<ReactCSSTransitionGroup transitionName="example" transitionAppearTimeout={500} transitionEnterTimeout={500} transitionLeaveTimeout={300}>
<div key="1">Coucou</div>
</ReactCSSTransitionGroup>`
在 Chrome 的开发人员工具(React 选项卡)中,我看到以下内容: Chrome 开发工具截图
这是我的 SASS 代码(assets/stylesheets/partials/_sidebar.sass):
.example-enter
background: yellow
transition: background 1s ease-in
.example-enter.example-enter-active
background: white
.example-leave
opacity: 1
transition: opacity .5s ease-in
.example-leave.example-leave-active
opacity: 0.01
生成的代码不会为任何内容设置动画。它做了一个没有背景颜色的简单渲染。多年来我一直在寻找解决方案!
(TeamForm 在单击创建元素并按 ID 将其添加到给定 div 的链接后呈现)
如果有人可以帮助我,那就太好了!
非常感谢。
编辑:我设法通过简单地使用 jQuery 添加/删除类 onClick 来解决这个问题。但是,这似乎不是正确的解决方案。不过,我仍然很想知道这些动画是如何工作的。