javascript-如何在React.js中创建动画计数器?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript-如何在React.js中创建动画计数器?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2284字,纯文字阅读大概需要4分钟。
内容图文
![javascript-如何在React.js中创建动画计数器?](/upload/InfoBanner/zyjiaocheng/664/acbf4152a30c4647aa6c50d72bae44ed.jpg)
我正在寻找一种在React中为柜台动画的方法.
为了示例,我具有以下结构的3个组件:
>硕士:
>
>逻辑组件
>
>柜台
(Master是LogicalComponent和Counter的父代)
逻辑组件将一个数字传递给母版,然后将其传递给应该进行动画处理的计数器组件.
逻辑组件以递增的方式发送数字,也就是说,每次在那里发生某种情况,它都会发送更新.
例如,logicCounter调用Master十次以增加计数器,我希望Counter将呈现10次以显示10个数字.
到目前为止,我尝试过的所有操作都显示了最终数字(10),没有任何增量.
在寻找解决方案之后,我遇到了Window.requestAnimationFrame(),我正在寻找在React中实现它的正确方法.
我试图避免第三方npms /库.
希望您的帮助/想法.
谢谢.
解决方法:
window.requestAnimationFrame()主要用于浏览器上的动画优化.您可以在这里了解更多信息:http://www.paulirish.com/2011/requestanimationframe-for-smart-animating/
但是我认为这不能帮助您解决问题.据我了解,您的问题出在您的反应组件上.
这是您的体系结构的可能实现的示例:https://jsfiddle.net/snahedis/69z2wepo/28572/
var Master = React.createClass({
increment: function() {
this.refs.counter.increment();
},
render: function() {
return (
<div>
<Counter ref="counter" />
<Logic increment={this.increment} />
</div>
);
}
});
var Logic = React.createClass({
render: function() {
return <button onClick={this.props.increment}>increment</button>;
}
});
var Counter = React.createClass({
getInitialState: function() {
return {
counter: 0
};
},
increment: function() {
this.setState({
counter: this.state.counter + 1
});
},
render: function() {
return <div>{this.state.counter}</div>;
}
});
ReactDOM.render(
<Master />,
document.getElementById('container')
);
显然,逻辑组件上的增量方法可以通过单击按钮的其他方式触发.
但是,这种结构有点奇怪.如果可能的话,我建议更改它.逻辑组件将成为“计数器”组件的父级,而不是其同级组件.
这是示例:https://jsfiddle.net/snahedis/69z2wepo/28573/
var Master = React.createClass({
render: function() {
return (
<div>
<CounterLogicWrapper />
</div>
);
}
});
var CounterLogicWrapper = React.createClass({
getInitialState: function() {
return {
counter: 0
};
},
increment: function() {
this.setState({
counter: this.state.counter + 1
});
},
render: function() {
return (
<div>
<Counter counter={this.state.counter} />
<button onClick={this.increment}>increment</button>
</div>
);
}
});
var Counter = React.createClass({
render: function() {
return <div>{this.props.counter}</div>;
}
});
ReactDOM.render(
<Master />,
document.getElementById('container')
);
内容总结
以上是互联网集市为您收集整理的javascript-如何在React.js中创建动画计数器?全部内容,希望文章能够帮你解决javascript-如何在React.js中创建动画计数器?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。