javascript - 与计时器反应所有 x 秒
问题描述
我正在使用 react 16.12.0 和 react.component。
我有一个定时器功能,每 6 秒运行一次。每 6 秒我向服务器询问信息:
timer(): void {
this.setState({time: new Date()});
this.sendFunction({
method: 'post',
url: 'getDataFromServerAfterTimeX',
data: {
"timestamp": this.state.lastUpdate,
}
}, "getDataFromServerWithChangesAfter");
}
setState
现在的问题是,由于计时器函数中的调用,react 每 6 秒重新渲染一次。
计时器值永远不会在任何地方显示给用户。它仅用于保存当前时间,当服务器向客户端发送一些信息时,值 lastUpdate 将更新为value-timer
.
如何防止每 6 秒重新渲染一次?
我试过了,shouldComponentUpdate
但这个函数没有用,因为我必须检查每个状态变量是否发生了变化。当任何状态变量发生变化时,react 应该渲染,否则只有值timer
发生变化,所以返回 false。但我有大约 50 个状态变量。我无法每 6 秒检查一个值是否已更改。
任何人都可以给我一个建议。谢谢
解决方案
然后不要将其用作状态变量,而是将其设为局部变量。关闭可以提供帮助。你能显示代码吗?
推荐阅读
- nativescript - NativeScript Playground 二维码指向默认应用
- kubernetes - 无法在 Kubernetes 中删除 pod
- node.js - 在 Node.js 中循环一个永久的 UDP 数据包 ping(3 秒间隔)
- jenkins - 詹金斯:无法加载魔力“测试”
- python - How to pass functions with arguments as parameter to another function in python with function name as a string?
- python - 如何在 python 中使用 ElementTree 将 xml 元素作为具有命名空间的字符串?
- jquery - jQuery - 仅当锚点 href 仅包含 URL 时才返回 true
- java - Android - 获取主机不会持续返回
- c# - 从 Azure 表存储中检索行
- javascript - 简化画布上的颜色