当前位置:首页 > 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 创建一个基础的 React 实现需要理解其核心概念:虚拟 DOM、组件、状态管理和渲染。以下是一个简化版的 React 实现。 创建虚拟 DOM 虚拟 DOM 是真实…

如何react页面

如何react页面

创建 React 页面 使用 create-react-app 快速初始化项目: npx create-react-app my-app cd my-app npm start 基础页面结构 在 s…

如何记忆react

如何记忆react

理解核心概念 React的核心概念包括组件、状态(state)、属性(props)、生命周期方法(类组件)和钩子(函数组件)。掌握这些基础概念是记忆React的关键。组件是React应用的构建块,分为…

react如何读

react如何读

React 的发音 React 的发音为 /riˈækt/(音标),读作“瑞-艾克特”。其中: “Re” 发音类似英文单词 “read” 的开头部分。 “act” 发音与英文单词 “act” 一致。…

react 如何运行

react 如何运行

运行 React 项目的步骤 安装 Node.js 确保系统已安装 Node.js(建议版本 16+),可通过官网下载并安装。安装后验证版本: node -v npm -v 创建 React 项目…

react如何diff

react如何diff

React Diff 算法原理 React 的 Diff 算法是 Virtual DOM 的核心部分,用于高效更新真实 DOM。其核心思想是通过对比新旧 Virtual DOM 树的差异,最小化 DO…