Javascript 在reactjs中使用setInterval函数的正确位置是什么

Javascript 在reactjs中使用setInterval函数的正确位置是什么,javascript,reactjs,Javascript,Reactjs,我有一个组件 功能:调用主机列表并显示其状态为“向上”或“向下” 在componentDidmount()中,我使用了setInerval()函数,当一个或两个状态发生变化时,它会导致整个组件重新呈现 场景:列表中有12个主机,我正在给每个主机打电话并更新它们的状态 案例1:在第一个间隔中,10个主机状态为up,其余2个主机状态为down。下一个电话 同样,10主机状态为“向上”,其余2主机状态为“向下”,但整个组件正在渲染。这不应该 我尝试的是: class\u网格扩展组件{ 应更新

我有一个组件

  • 功能:调用主机列表并显示其状态为“向上”或“向下”
在componentDidmount()中,我使用了setInerval()函数,当一个或两个状态发生变化时,它会导致整个组件重新呈现

  • 场景:列表中有12个主机,我正在给每个主机打电话并更新它们的状态
  • 案例1:在第一个间隔中,10个主机状态为up,其余2个主机状态为down。下一个电话 同样,10主机状态为“向上”,其余2主机状态为“向下”,但整个组件正在渲染。这不应该
  • 我尝试的是:
class\u网格扩展组件{
应更新组件(下一步){
if(this.props.card===nextrops.card){
返回false;
}
}
render(){
const{card,classes}=this.props;
const up=“data:image/jpeg;base64,/9j/4AAQSkZJRgABAQA/Z”;
const down=“数据:图像/png;base64,ivborw0kgocc”;
返回(
{card.appName}
);
}

}
我可以看到您正在对
props
shouldComponentUpdate
方法中的
nextrops
进行比较。在javascript中,仅当两个变量引用同一个对象时,使用严格相等比较两个对象才返回true。在您的示例中,我没有看到更新props值的逻辑,但我假设props是在setInterval中重新创建的,这意味着每次都会创建一个新对象。有关按值深入比较对象的方法,请参阅其他stackoverflow答案:

使用的setInterval在哪里?我在给定的代码片段中看不到它。请更新您的question@ShubhamGupta在componentDidmount()中,我使用的是setInerval()函数:)@Rahul Raj Sonu我认为在我理解/帮助您之前,您应该添加一些代码