当前位置:首页 > React

react中如何使用echarts

2026-01-24 08:12:53React

安装 ECharts 依赖

在 React 项目中安装 ECharts 核心库和 React 封装库。使用 npm 或 yarn 安装:

npm install echarts echarts-for-react
# 或
yarn add echarts echarts-for-react

引入 ECharts 组件

在 React 组件中导入 ReactECharts 组件和 ECharts 核心模块:

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

配置图表选项

准备一个包含图表配置的对象,例如柱状图:

const option = {
  title: {
    text: '示例柱状图'
  },
  tooltip: {},
  xAxis: {
    data: ['A', 'B', 'C', 'D', 'E']
  },
  yAxis: {},
  series: [{
    name: '数量',
    type: 'bar',
    data: [5, 20, 36, 10, 15]
  }]
};

渲染图表组件

在 React 组件中使用 ReactECharts 并传入配置:

react中如何使用echarts

function ChartComponent() {
  return (
    <ReactECharts
      option={option}
      style={{ height: '400px', width: '100%' }}
      className="echarts-for-react"
    />
  );
}

动态更新图表

通过 React 的状态管理实现图表动态更新:

function DynamicChart() {
  const [data, setData] = React.useState([5, 20, 36, 10, 15]);

  const updateData = () => {
    setData(data.map(value => Math.random() * 40));
  };

  const option = {
    series: [{ data }]
  };

  return (
    <div>
      <ReactECharts option={option} />
      <button onClick={updateData}>更新数据</button>
    </div>
  );
}

主题定制

可以使用 ECharts 的主题功能或注册自定义主题:

react中如何使用echarts

// 注册主题
echarts.registerTheme('myTheme', {
  backgroundColor: '#f4cccc'
});

// 使用主题
<ReactECharts option={option} theme="myTheme" />

事件处理

为图表添加事件监听:

function ChartWithEvents() {
  const onChartClick = (params) => {
    console.log('图表点击事件', params);
  };

  const onEvents = {
    click: onChartClick
  };

  return (
    <ReactECharts
      option={option}
      onEvents={onEvents}
    />
  );
}

按需引入模块

减小打包体积,只引入需要的图表类型:

import { BarChart, LineChart } from 'echarts/charts';
import {
  TitleComponent,
  TooltipComponent,
  GridComponent
} from 'echarts/components';

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

响应式设计

使图表适应容器大小变化:

function ResponsiveChart() {
  const [width, setWidth] = React.useState('100%');

  React.useEffect(() => {
    const handleResize = () => {
      setWidth(`${window.innerWidth * 0.8}px`);
    };
    window.addEventListener('resize', handleResize);
    return () => window.removeEventListener('resize', handleResize);
  }, []);

  return (
    <ReactECharts
      option={option}
      style={{ width, height: '400px' }}
    />
  );
}

分享给朋友:

相关文章

react中monent如何获取日期

react中monent如何获取日期

使用 Moment.js 获取当前日期 在 React 中通过 Moment.js 获取当前日期,可以直接调用 moment() 函数。它会返回包含当前日期和时间的 Moment 对象。 impo…

react如何更新

react如何更新

更新 React 版本的方法 检查当前 React 版本 运行以下命令查看项目中安装的 React 版本: npm list react 更新 React 及相关依赖 通过 npm 或 yar…

react如何开发

react如何开发

React 开发基础步骤 安装 Node.js 和 npm/yarn 确保系统已安装 Node.js(包含 npm)或 Yarn。React 项目依赖这些工具管理包和运行脚本。官方推荐使用 Node.…

react 如何启动

react 如何启动

创建 React 项目 使用官方工具 create-react-app 快速初始化项目,需提前安装 Node.js(版本 ≥ 14.0.0)和 npm/yarn: npx create-react…

react如何扩展

react如何扩展

扩展 React 项目的常用方法 使用高阶组件(HOC) 高阶组件是一种复用组件逻辑的方式。通过包裹组件并注入额外属性或逻辑,可以实现功能扩展。例如,一个日志记录的高阶组件: function…

如何监控react性能

如何监控react性能

使用 React Profiler API React 16.5 及以上版本内置了 Profiler API,可直接测量组件渲染时间。通过 <React.Profiler> 包裹目标组件,…