ECharts 报错 + 卡顿通常由数据量、配置方式、渲染机制或代码错误引起。下面按「最常见原因 → 解决办法」给你梳理,基本能覆盖 90% 的情况。
setOptionline / scatter 且未做降采样表现
RangeError / stack overflow解决
// 开启大数据优化
series: [{
type: 'line',
large: true,
largeThreshold: 2000,
sampling: 'lttb'
}]
或:
dataset + dataZoom❌ 错误写法(每次都全量更新):
chart.setOption(option) // 每 1s 调用一次
✅ 正确写法:
chart.setOption(option, {
notMerge: false,
lazyUpdate: true
})
或只更新数据:
chart.setOption({
series: [{ data }]
})
window.resize 无节流解决
window.addEventListener('resize', debounce(() => {
chart.resize()
}, 200))
<div id="chart"></div>
但:
#chart { width: 100%; height: 0; }
结果
✅ 必须:
#chart { width: 100%; height: 400px; }
formatter 里做大量计算解决
tooltip: {
triggerOn: 'click'
}
dispose✅ React:
useEffect(() => {
const chart = echarts.init(ref.current)
return () => chart.dispose()
}, [])
常见报错:
Cannot read properties of undefinedxAxis is not definedseries.data is undefined➡ 每次报错都会中断渲染
排查方式
你可以对照看看:
你可以直接贴:
我可以帮你精准定位是哪一行导致的卡顿。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。