react+echarts请求数据的问题

#1

使用echarts想通过fetch请求服务端数据,然后数据前端页面经过简单处理后再渲染组件。
但是fetch返回的数据是异步的,所以在数据没有准备好的前提下我的组件已经渲染了,所以如何让我的数据准备好之后再渲染组件?
下图是请求数据并进行简单处理,项目原因没有粘贴完,见谅。
fetch放在componentDidMount方法中:
1
下图是fetch方法随后几行以及绘制地图的一个方法,数据初始化在this.state中:
2

option中使用 data: this.state.resultdata0的方法,但是因为优先进行图形渲染,此时数据并未请求过来,所以页面数据为空,请问应该怎么处理啊?

#2

this.initMapDidMout写到fetch的then里不行吗?

#3

NKCMO1Z_Y8RG6%5DJ%25ETLM2EK D%24%246_3Q~KLJA12FHU91~A6P
我用 vue 就是 重新调用 渲染。
react 倒是没用过,不过应该差不多。

#4

感谢您的宝贵回答,为我提供了一种解决思路…
我已尝试,是可以的哦!!!
但展示方面会有这么一个小问题,如果放到then的最开始,效果仍然是先进性渲染,此时渲染完毕的data为仍然为0;如果放到最后面,在数据没有加载完毕的时候,页面图表部分会是一片空白。

#5

感谢您百忙之中的回答!!!!
明白了,先进行加载,然后进行二次重新渲染!
是个很不错的解决方案哦,我去react上试试

#6

this.setState({

},()=>{
this.initMapDidMout
})
这样?

#7

还可以酱紫写么?我没有试过这种写法,我会去尝试一下,然后告诉您是否可行…