【发布时间】:2022-01-31 07:18:25
【问题描述】:
我正在尝试自动更新表格 - 在我的测试中,我每 10 秒记录一次输出,但响应与初始组件渲染保持相同
componentDidMount() {
this.interval = setInterval(this.getData, 10000);
this.getData()
}
getData = () => {
axios.get(`myApiUrl`)
.then(response => {
this.setState({ data: response.data.entries })
console.log(response.data.entries)
})
.catch(error => {
console.log(error)
})
}
componentWillUnmount() {
clearInterval(this.interval)
}
如果我每 10 秒手动尝试从邮递员那里获取数据,更新后的更改工作正常。
【问题讨论】:
-
您期望每 10 秒的“变化”是多少?看起来您只是一遍又一遍地发出完全相同的 API 请求,所以结果不会有所不同
-
数据正在从另一个来源更新 - 我希望看到这些更改每 10 秒反映一次。 @Jayce444
-
您的浏览器可能正在缓存数据,因为请求没有改变。如果您控制 API 的服务器,您可能需要发送正确的响应标头以确保浏览器不会缓存它。
-
这可能就是你需要的(useEffect hook):stackoverflow.com/questions/57542264/…
-
@RobinZigmond 正确!
标签: javascript reactjs axios