当前位置:首页 > React

react中如何引入echarts

2026-03-11 02:08:19React

安装 ECharts 依赖

在 React 项目中安装 echartsecharts-for-react(封装好的 React 组件库):

npm install echarts echarts-for-react

基础引入方式

通过 echarts-for-react 直接引入 ECharts 组件:

react中如何引入echarts

import React from 'react';
import ReactECharts from 'echarts-for-react';

function App() {
  const option = {
    xAxis: { type: 'category', data: ['Mon', 'Tue', 'Wed'] },
    yAxis: { type: 'value' },
    series: [{ data: [820, 932, 901], type: 'line' }]
  };

  return <ReactECharts option={option} />;
}

按需引入模块(优化体积)

ECharts 默认全量引入,可通过按需引入减小打包体积:

import * as echarts from 'echarts/core';
import { LineChart } from 'echarts/charts';
import { GridComponent, TitleComponent } from 'echarts/components';
import { CanvasRenderer } from 'echarts/renderers';
import ReactECharts from 'echarts-for-react';

// 注册必要组件
echarts.use([LineChart, GridComponent, TitleComponent, CanvasRenderer]);

function App() {
  const option = { /* 同上 */ };
  return <ReactECharts echarts={echarts} option={option} />;
}

动态加载主题

如需使用自定义主题,先注册主题文件:

react中如何引入echarts

import * as echarts from 'echarts';
import themeJson from './theme.json'; // 主题文件

// 注册主题
echarts.registerTheme('myTheme', themeJson);

// 使用时传入主题名
<ReactECharts theme="myTheme" option={option} />

手动初始化图表(非组件方式)

直接使用原生 ECharts API:

import React, { useEffect, useRef } from 'react';
import * as echarts from 'echarts';

function Chart() {
  const chartRef = useRef(null);

  useEffect(() => {
    const chart = echarts.init(chartRef.current);
    chart.setOption(option);
    return () => chart.dispose(); // 组件卸载时销毁
  }, []);

  return <div ref={chartRef} style={{ width: '100%', height: 400 }} />;
}

响应式处理

监听窗口变化自动调整图表大小:

useEffect(() => {
  const chart = echarts.init(chartRef.current);
  const resizeHandler = () => chart.resize();
  window.addEventListener('resize', resizeHandler);
  return () => {
    window.removeEventListener('resize', resizeHandler);
    chart.dispose();
  };
}, []);

注意事项

  • 服务端渲染(SSR)需动态导入 ECharts,避免 window 未定义错误。
  • 复杂图表建议拆分 option 配置到独立文件。
  • 多次渲染时复用 echartsInstance 避免性能问题。

标签: reactecharts
分享给朋友:

相关文章

react如何浮动

react如何浮动

使用 CSS 实现浮动 在 React 中实现浮动效果可以通过 CSS 的 float 属性完成。在组件的样式文件或内联样式中直接设置 float: left 或 float: right。 /…

如何同步react

如何同步react

同步React组件状态的方法 使用useState和useEffect钩子组合可以同步React组件的状态。useState用于声明状态变量,useEffect用于监听状态变化并执行副作用。 imp…

如何提高react

如何提高react

优化性能 使用React.memo对组件进行记忆化处理,避免不必要的重新渲染。对于类组件,可以使用PureComponent来达到类似效果。 利用useMemo缓存计算结果,避免重复计算。对于函数或…

react如何重置

react如何重置

重置 React 应用的状态 使用 useState 钩子重新初始化状态变量是最直接的方法。将状态变量重置为初始值或空值即可完成重置。 const [count, setCount] = useSt…

react如何分

react如何分

React 分页实现方法 在 React 中实现分页功能可以通过多种方式完成,以下是几种常见的方法: 使用状态管理分页数据 在组件内部维护当前页码和每页数据量的状态,通过计算切片数据实现分页。…

react如何重新加载

react如何重新加载

重新加载当前页面 在React中重新加载当前页面可以通过window.location.reload()方法实现。该方法会强制浏览器重新加载当前URL,类似于按下F5刷新页面。 const relo…