react hooks中echarts-for-react实时更新解决方法

问题来源是 功能需要点击不同的地方传入不同的echarts x,y数据,但是这个时候你会发现如果正常的写它并不会实时更新,要么停留在第一次数据,要么直接数据无法显示,主要存在每次需要重新加载页面或者(子组件)的时候。
原因是echarts里面的option没有重新运行

解决方案1:

            <BaseChart
                notMerge={true}
                style={{ width: "100%", height: "82%" }}
                option={lineOption}
                key={Date.now()}
                
            ></BaseChart>

在basecharts里面加入key,这个时候他会更具时间随时进行更新,但是也损耗大
解决方案2:

            <BaseChart
               notMerge={true}
               style={{ width: "100%", height: "82%" }}
               option={lineOption()}
               // key={Date.now()}
               
           ></BaseChart>

写入一个lineoption()方法,然后再useMemo或者useEffect中调用:

        useMemo(()=>{
           console.log(option,'765')
           lineOption()
       },[option])

在这里插入图片描述
然后写这个方法return回我们的配置参数(这里的deepMerge为自己写的深度合并方法,不是自带方法)
第二种方法实现后你会发现比第一种更顺畅。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值