当前位置:首页 > 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如何收录

react如何收录

React 收录方法 React 的收录主要涉及搜索引擎优化(SEO)和预渲染技术。由于 React 是单页应用(SPA),默认情况下内容由 JavaScript 动态生成,可能导致搜索引擎爬虫难以收…

react如何动画

react如何动画

React 动画实现方法 React 中实现动画可以通过多种方式,包括原生 CSS、第三方库或 React 内置的动画解决方案。以下是几种常见方法: 使用 CSS 动画和过渡 通过 CSS 的 tr…

react如何注销

react如何注销

React 组件的注销方法 在 React 中,组件的注销通常指的是在组件卸载时执行清理操作,例如取消订阅、清除定时器或释放资源。以下是几种常见的方法: 使用 useEffect 钩子的清理函数…

react 如何遍历

react 如何遍历

遍历数组 在React中遍历数组通常使用map方法,它会返回一个新的数组。map是处理数组并渲染列表元素的首选方法。 const items = ['Apple', 'Banana', 'Cherr…

react如何发布

react如何发布

发布React应用的步骤 构建生产版本 使用以下命令生成优化后的生产版本代码,代码会被压缩并移除开发环境中的调试工具: npm run build 构建完成后会生成build文件夹,包含所有静态资源…

react如何检测窗口

react如何检测窗口

监听窗口大小变化 使用useEffect钩子和resize事件监听窗口尺寸变化。在组件挂载时添加事件监听器,卸载时移除监听器以避免内存泄漏。 import { useState, useEffect…