在React中,如何立即触发动画,而不是让它们排队
In React, how can I trigger animations immediately instead of having them queue up?
试试小提琴:http://jsfiddle.net/zhjk39qe/2/-单击按钮使方框淡入/淡出。
当我连续快速点击两次按钮时,我预计盒子会在一瞬间开始淡出,但会立即淡出。相反,在这把小提琴中,盒子必须一直淡出,然后会一直淡出。(第二次点击是排队的,感觉不快。糟糕的用户体验。)
有没有办法立即强制进行第二次转换?
(一直在这里挖,但不知道该去哪里:https://github.com/facebook/react/tree/master/src/addons/transitions)
JS在这里:
var ReactCSSTransitionGroup = React.addons.CSSTransitionGroup;
var Hello = React.createClass({
getInitialState: function() {
return {on: true};
},
onClick: function() {
this.setState({on: !this.state.on});
},
render: function() {
var k = this.state.on ? (<div> Hello {this.props.name} </div>) : "";
return <div>
<a href="#" onClick={this.onClick}> Click to toggle </a> <br/> <br/>
<ReactCSSTransitionGroup transitionName="example">
{k}
</ReactCSSTransitionGroup>
</div>;
}
});
React.render(<Hello name="World" />, document.getElementById('container'));
我同意@Morhaus的观点,我会根据需要切换css类。
这是一个工作示例。我知道这偏离了你最初的问题,但在这种情况下并不真正需要ReactCSSTransitionGroup。
http://jsfiddle.net/joverall22/t7wok2zy/
var ReactCSSTransitionGroup = React.addons.CSSTransitionGroup;
var Hello = React.createClass({
getInitialState: function() {
return {on: true};
},
onClick: function() {
this.setState({on: !this.state.on});
},
render: function() {
var variant;
if(this.state.on){
variant = 'transition on';
} else {
variant = 'transition off';
}
var k = <div className={variant}> Hello {this.props.name} </div>
return <div>
<a href="#" onClick={this.onClick}> Click to toggle </a>
<br/> <br/>
<span>{k}</span>
</div>;
}
});
React.render(<Hello name="World" />, document.getElementById('container'));
相关文章:
- React重新渲染但未显示正确的组件
- React组件等待所需道具进行渲染
- React中的数据集表示
- Webpack开发服务器和React服务器端渲染
- React Redux错误页面管理
- react.js中的密钥绑定
- 如何在react js中将值从一个组件发送到另一个组件
- React Native通过Navigator将用户输入数据传递到选项卡栏IOS中的组件
- React:按键的性能提升
- 如何在react js中从一个页面导航到另一个页面
- React组件-设置页面标题
- 为react组件传递道具的最佳方式
- 如何在 AJAX JQuQudy中对文件上传进行排队
- 如何使用带有Preact的React路由器
- 使用Jest测试React Native应用程序
- 为什么我的点击事件没有使用 react js 触发
- React 15使用空字符串删除输入值
- react组件中的绑定方法
- 在React中,如何立即触发动画,而不是让它们排队
- React在状态更改时丢弃排队的事件