React项目搭建与Echarts工具使用详解

 更新时间:2023年05月09日 10:24:34   作者:爱打羽球的码猿  
这篇文章主要介绍了React项目搭建与Echarts工具使用详解,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

一、React项目快速搭建

1、新建文件夹

在这里插入图片描述

2、直接在对应目录输入 cmd ,打开终端

在这里插入图片描述

3、执行指令完成React应用建立

npx create-react-app react_echarts_demo

在这里插入图片描述

cd react_echarts_demo
npm start

在这里插入图片描述

在这里插入图片描述

二、React项目结构和分析

终端对应目录下输入 code . 打开 vs code

1、删除多于文件,使得结构清晰

在这里插入图片描述

2、删除剩余文件中多于的引用内容

在这里插入图片描述

3、使用vs code打开终端,运行项目

在这里插入图片描述

在这里插入图片描述

三、Echarts工具使用

1、npm安装依赖

npm install echarts --save
npm install --save echarts-for-react

2、简单折线图

使用 echarts-for-react

在这里插入图片描述

引用代码

import React from 'react';
import ReactDOM from 'react-dom/client';
import LineCharts  from './LineCharts';

const root = ReactDOM.createRoot(document.getElementById('root'));

root.render(
  <div> 
    <h1> 简单折线图</h1>
    <LineCharts></LineCharts>
  </div>
);

组件代码

import React, {Component} from 'react';
import ReactECharts from 'echarts-for-react';


// 在此组件中绘制一个简单的折线图
export default class LineCharts  extends Component{
  // 返回折线图的配置对象
  option = {
    xAxis: {
      type: 'category',
      data: ['A', 'B', 'C']
    },
    yAxis: {
      type: 'value'
    },
    series: [
      {
        data: [120, 200, 150],
        type: 'line'
      }
    ]
  };

  render() {
    return(
      <div>
        <ReactECharts option={this.option} />
      </div>
    )
  }
}

3、燃尽图 使用echarts

在这里插入图片描述

代码如下:

index.js

import React from 'react';
import ReactDOM from 'react-dom/client';
import LineEChartsDemo  from './LineEchartsDemo';

const root = ReactDOM.createRoot(document.getElementById('root'));

root.render(
  <div> 
    <h1>燃尽图</h1>
    <LineEChartsDemo></LineEChartsDemo>
  </div>
);

LineEchartsDemo.jsx

import React, { Component } from 'react'
import LineECharts from './LineECharts'


class LineEchartsDemo extends Component{

  constructor(props) {
    super(props)
    this.state = {
	    data: {
	      x: ['2023-03-18', '2023-03-19', '2023-03-20', '2023-03-22', '2023-03-23', '2023-03-24', '2023-03-25'],
	      y: [100, 93, 80, 70, 53, 36, 0]
	    }
    }
  }
  componentDidMount() { }
  render() {
     	return (<LineECharts data={this.state.data} yname="进度/%" />  )
  }
}

export default LineEchartsDemo 

LineECharts.jsx

import React, {Component} from 'react';

import * as echarts from 'echarts';


export default class LineECharts  extends Component{
  constructor(props) {
    super(props)
    this.state = {
    }
  }

  // 挂载完成之后,因为React初始化echarts时长宽可能会获取到顶层,所以延迟200去生成,不影响视觉效果
  componentDidMount() {
    setTimeout(() => {
      this.initEchart(this.props.data)
    }, 200)
  }

  // 更新props以后调用
  componentWillReceiveProps(newProps) {
    this.initEchart(newProps.data)
  }

  initEchart = (data) => {
    let myEcharts = echarts.init(this.echartsBox)
    let option = {
      
      title: {
        text: this.props.title || '',
        left: 'center',
        top: '0'
      },
      tooltip: {
        show: true,
        trigger: 'axis',
        
        formatter: '{b}<br/>进度:{c}%',
        extraCssText: 'box-shadow: 0 0 3px rgba(0, 0, 0, 0.3);'
      },
      xAxis: {
        type: 'category',
        data: data.x,  
      },
      yAxis: {
        name: this.props.yname,
        nameGap: 15,
        position: 'left',
        axisLabel: {
          formatter: '{value}'
        }
      },
      series: [{
        name: '汇总',
        type: 'line',
        data: data.y,
        smooth: false,
        lineStyle: {
          color: '#00CC99',
          width: 2
        },
      
      }]
    }
    myEcharts.setOption(option)
    myEcharts.on('finished', () => {
      myEcharts.resize()
    })
  }

  render() {
    return (
      <div ref={(c) => { this.echartsBox = c }} style={{ width: '500px', height: '500px' }} />
    )
  }
}

4、不同的图形,Echarts官网找对应Option内容复制即可

在这里插入图片描述

option = {
  xAxis: {
    data: ['A', 'B', 'C', 'D', 'E']
  },
  yAxis: {},
  series: [
    {
      data: [10, 22, 28, 43, 49],
      type: 'line',
      stack: 'x'
    },
    {
      data: [5, 4, 3, 5, 10],
      type: 'line',
      stack: 'x'
    }
  ]
};

到此这篇关于React项目搭建与Echarts工具使用的文章就介绍到这了,更多相关React使用Echarts内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • React setState是异步还是同步原理解析

    React setState是异步还是同步原理解析

    这篇文章主要为大家介绍了React setState是异步还是同步原理解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-11-11
  • React中使用axios发送请求的几种常用方法

    React中使用axios发送请求的几种常用方法

    本文主要介绍了React中使用axios发送请求的几种常用方法,主要介绍了get和post请求,具有一定的参考价值,感兴趣的可以了解一下
    2021-08-08
  • react实现无限循环滚动信息

    react实现无限循环滚动信息

    这篇文章主要为大家详细介绍了react实现无限循环滚动信息,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-10-10
  • React 服务器组件的使用方法详解

    React 服务器组件的使用方法详解

    最近,React 服务器组件受到了广泛的关注和热捧,这是因为 React 服务器组件允许开发人员将与组件相关的任务外包给服务器,在本文中,我们将讨论什么是 React 服务器组件,以及如何将它们集成到构建应用程序中,需要的朋友可以参考下
    2023-10-10
  • 详解react如何实现复合组件

    详解react如何实现复合组件

    在一些react项目开发中,常常会出现一些组合的情况出现,这篇文章主要为大家介绍了复合组件的具体实现,感兴趣的小伙伴可以跟随小编一起学习一下
    2024-10-10
  • JS跨域解决方案react配置反向代理

    JS跨域解决方案react配置反向代理

    这篇文章主要为大家介绍了JS跨域解决方案react配置反向代理的示例内容详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步
    2021-11-11
  • React state状态属性用法讲解

    React state状态属性用法讲解

    React将组件(component)看成一个状态机(State Machines),通过其内部自定义的状态(State)和生命周期(Lifecycle)实现并与用户交互,维持组件的不同状态
    2022-11-11
  • React-Router(V6)的权限控制实现示例

    React-Router(V6)的权限控制实现示例

    本文主要介绍了React-Router(V6)的权限控制实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-05-05
  • 使用react实现手机号的数据同步显示功能的示例代码

    使用react实现手机号的数据同步显示功能的示例代码

    本篇文章主要介绍了使用react实现手机号的数据同步显示功能的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-04-04
  • React更新渲染原理深入分析

    React更新渲染原理深入分析

    什么是re-render(重新渲染)?哪些是必要的re-render?哪些是非必要的re-render?如果你对这些问题还不是很明白,那么可以在这篇文章中找到答案
    2022-12-12

最新评论