我在 React 中制作了一个仪表板。它没有主动更新,没有按钮、字段或下拉菜单。它将部署在墙上的电视上以供观看。所有面板(共 9 个)都通过 API 调用更新。初始调用(如下所示)有效,所有 JSON 数据都被提取,仪表板初始更新。
底线问题:我需要在初始调用后每 30 秒到 1 分钟调用一次 API 以检查更新。
我已经尝试在 componentDidMount() 中使用“setInterval”,正如这里回答其他人问题的人所建议的那样,我收到一个错误“await 是一个保留字”。我已经阅读了 forceUpdate() ,考虑到 facebook/react 页面对它的描述,这对我的用例来说似乎是合乎逻辑的。但是,我也在这里阅读以远离那个......
下面的代码是我正在使用的代码的精简版。为简洁起见,我删除了许多组件和导入。任何帮助将不胜感激。
import React, { Component } from 'react';
import Panelone from './Components/Panelone';
import Paneltwo from './Components/Paneltwo';
class App extends Component {
state = {
panelone: [],
paneltwo: []
}
async componentDidMount() {
try {
const res = await fetch('https://api.apijson.com/...');
const blocks = await res.json();
const dataPanelone = blocks.panelone;
const dataPaneltwo = blocks.paneltwo;
this.setState({
panelone: dataPanelone,
paneltwo: dataPaneltwo,
})
} catch(e) {
console.log(e);
}
render () {
return (
<div className="App">
<div className="wrapper">
<Panelone panelone={this.state} />
<Paneltwo paneltwo={this.state} />
</div>
</div>
);
}
}
export default App;