我尝试使用多个 axios 请求来显示每个不同主题的图形数据,但得到的结果是图形显示都与下面的屏幕截图中所示相同,它仅显示最后一个数据,这里是编码:
componentDidMount() {
axios.get(`http://192.168.10.124:3000/api/messages/gettopic`)
.then(res => {
const graphDataName = res.data.map(topics=>{
axios.get('http://192.168.10.124:3000/api/messages?filter[where][topic]=' + topics + "&filter[order]=timestamp%20DESC")
.then(res => {
const graphData = res.data;
this.setState({graphData});
})
});
})
}
render() {
const { getDeviceListPending, getDeviceListError } = this.props.dashboard;
//const { getDevicePending, getDeviceError } = this.props.dashboard;
//const temperatureData = this.getTempData();
console.log(this.state.graphData);
//console.log(this.state.topics);
return (
<div className="chart">
<div className="column">
<div className="panel">
{
this.props.dashboard.listData.map(item=>
<div className="columns is-multiline">
<div className="column is-12">
<div className="panel">
<div className="panel-block">
<li key={item}>
<a key={item} onClick={memobind(this, 'handleRowClick', item)}>
{item}
<GetChart graphData={this.state.graphData}/>
</a>
</li>
</div>
</div>
</div>
</div>
)
}
</div>
</div>
</div>
“this.state.graphData”的结果在这里显示了每个不同主题的数据,但是图形显示都是一样的,我想为每个设备的图形显示每个图形数据,我知道该怎么做吗? 谢谢你。该图表正在使用 Victory Chart,并且正在使用 React。