页面里面有好几个echarts图表,点击某个事件,发请求,获得数据后,
调用setState()改变了其中一个图表的数据源,应该要刷新那一个组件的,但是其他组件也刷新了(没有改变他们的数据,原地刷新)。
我知道setState会触发页面的render函数,但是对于其他的echarts组件来说,数据没有变,为啥会有重新渲染的动作。
难道只能把setstate()放在各自的组件内部去执行吗,
求解答!!!
页面里面有好几个echarts图表,点击某个事件,发请求,获得数据后,
调用setState()改变了其中一个图表的数据源,应该要刷新那一个组件的,但是其他组件也刷新了(没有改变他们的数据,原地刷新)。
我知道setState会触发页面的render函数,但是对于其他的echarts组件来说,数据没有变,为啥会有重新渲染的动作。
难道只能把setstate()放在各自的组件内部去执行吗,
求解答!!!
对组件做一下引用,然后直接把数据更新进去就可以,这样就避开state更新了。参考https://blog.csdn.net/qq_3722...useMemo
也是个办法,但是从学习的角度不推荐,搞清楚细节能学到更多东西。
3 回答1.9k 阅读✓ 已解决
2 回答2.5k 阅读✓ 已解决
1 回答1.6k 阅读✓ 已解决
4 回答1.6k 阅读✓ 已解决
2 回答2.5k 阅读✓ 已解决
1 回答2k 阅读✓ 已解决
1 回答2.6k 阅读✓ 已解决
用memo呗