当前位置:首页 > React

react如何引入echarts

2026-02-11 15:41:34React

安装 ECharts 依赖

在 React 项目中安装 ECharts 核心库和 React 封装库:

npm install echarts echarts-for-react

基础使用方式

通过 ReactECharts 组件直接渲染图表:

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

function ChartComponent() {
  const option = {
    xAxis: {
      type: 'category',
      data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
    },
    yAxis: {
      type: 'value'
    },
    series: [{
      data: [820, 932, 901, 934, 1290, 1330, 1320],
      type: 'line'
    }]
  };

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

按需引入模块

为减小打包体积,建议按需引入 ECharts 模块:

react如何引入echarts

import * as echarts from 'echarts/core';
import { LineChart } from 'echarts/charts';
import {
  TitleComponent,
  TooltipComponent,
  GridComponent
} from 'echarts/components';
import { CanvasRenderer } from 'echarts/renderers';

echarts.use([
  LineChart,
  TitleComponent,
  TooltipComponent,
  GridComponent,
  CanvasRenderer
]);

// 后续使用方式与基础示例相同

动态更新配置

通过 getInstance 方法获取图表实例实现动态更新:

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

  const updateChart = () => {
    if (chartRef.current) {
      const instance = chartRef.current.getEchartsInstance();
      instance.setOption(newOptions);
    }
  };

  return (
    <ReactECharts 
      ref={chartRef}
      option={initialOption}
    />
  );
}

主题定制

支持应用自定义主题或官方主题:

react如何引入echarts

import { theme } from './customTheme.json';

function ThemedChart() {
  return (
    <ReactECharts
      option={option}
      theme={theme}
      style={{ height: 400 }}
    />
  );
}

事件处理

通过 onEvents 属性绑定图表事件:

function EventChart() {
  const onChartClick = (params) => {
    console.log('Chart clicked:', params);
  };

  return (
    <ReactECharts
      option={option}
      onEvents={{
        'click': onChartClick
      }}
    />
  );
}

注意事项

  • 确保在组件卸载时调用 dispose 方法清理实例:

    useEffect(() => {
    return () => {
      if (chartRef.current) {
        chartRef.current.dispose();
      }
    };
    }, []);
  • 服务端渲染(SSR)场景需要动态导入组件:

    import dynamic from 'next/dynamic';
    const ReactECharts = dynamic(() => import('echarts-for-react'), { ssr: false });

标签: reactecharts
分享给朋友:

相关文章

如何删除react

如何删除react

卸载 React 项目依赖 打开项目根目录下的 package.json 文件,删除所有包含 react、react-dom 或其他 React 相关库的依赖项。保存文件后运行以下命令: npm u…

如何手写一个react

如何手写一个react

手写一个简单的 React 创建一个基础的 React 实现需要理解其核心概念:虚拟 DOM、组件、状态管理和渲染。以下是一个简化版的 React 实现。 创建虚拟 DOM 虚拟 DOM 是真实 D…

如何优化react

如何优化react

优化 React 性能的方法 使用 React.memo 或 PureComponent 对于函数组件,使用 React.memo 进行记忆化,避免不必要的重新渲染。类组件可以使用 PureCompo…

react如何浮动

react如何浮动

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

react如何折叠

react如何折叠

在 React 中实现折叠功能 使用 useState 管理折叠状态 通过 useState 定义一个状态变量来控制折叠面板的显示与隐藏。例如: const [isCollapsed, setIsC…

react 如何设置 代理

react 如何设置 代理

在 React 中设置代理 在开发过程中,为了跨域请求后端 API,可以通过配置代理来解决。以下是几种常见的设置代理的方法: 使用 package.json 配置代理 在 package.json…