在 reactjs 中设置组件 DidMount 上的间隔是一种正确的方法
Setting interval on componentDidMount in reactjs is an correct approach?
我已经用Reactjs为我的项目创建了聊天应用程序。对于最新更新,我需要每次都点击服务器。 我已经使用了setInterval方法来满足此要求。这种方法是否正确?
例如
componentDidMount:function(){
setInterval(function(){
$.ajax({
url:this.props.url,
dataType:"JSON",
type:"GET",
success:function(data){
this.setState({data:data});
}.bind(this)
});
}, 1000);
}
是的,这很好,但通常首选递归使用 setTimeout。它可确保在完成超过一秒钟时不会同时处理多个请求。
您可能还想立即运行一次。
最后,您需要清除组件将卸载中的超时。
componentDidMount: function(){
function tick(){
$.ajax({
url: this.props.url,
dataType: "JSON",
type: "GET",
success:function(data){
this.setState({data: data});
this.timer = setTimeout(tick, 500);
}.bind(this)
});
};
tick();
},
componentWillUnmount: function() {
clearTimeout(this.timer);
}
相关文章:
- 有没有一种方法可以添加相同的项目val=“0”;4〃;到JavaScript中数组的每个对象
- 有没有一种方法可以防止img get请求使用css或js发生
- Javascript,有没有一种方法可以将数组写成没有逗号或空格的单个文本字符串
- 有没有一种方法可以在控制台关闭的情况下让console.log()在IE中记录消息
- 有没有一种方法可以仅使用HTML/CSS来隐藏基于特定值的数据单元格
- 有没有一种方法可以从URL跟踪请求的域
- 有没有一种方法可以列出Ember.Object的所有绑定
- 有没有一种方法可以获得three.js的最小/lite版本
- 有没有一种方法可以在没有文档或jQuery的情况下使用javascript解码html实体
- 有没有一种方法可以从Javascript检测特定的应用程序是否安装在(AndroidiOS)设备上
- 在HTML/JavaScript中,有没有一种方法可以在图像开始加载时知道图像的最终布局尺寸
- 有没有一种方法可以在Javascript中进行可变递归currying
- 有没有一种方法可以检测ios<>使用jquery和触发器操作形成导航按钮
- 有没有一种方法可以让内联事件处理程序在元素创建后立即执行
- jQuery:使用substr()的另一种方法
- 有没有一种方法可以直接从cordova获得滚动位置
- 有没有一种方法可以通过只引用JavaScript来执行代码
- firebase中有没有一种方法可以防止快速连续写入
- GWT:有没有一种方法可以修改GWT在编译中使用的Cast.java文件
- 在Javascript(jquery)中,有没有一种方法可以检测页面锚点何时更改