欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

react+typescript中使用echarts的實(shí)現(xiàn)步驟

 更新時(shí)間:2022年08月08日 10:00:17   作者:Krlin_  
本文主要介紹了react+typescript中使用echarts的實(shí)現(xiàn)步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

安裝echarts

npm install echarts --save

按需加載Echarts demo

echarts.init() API文檔

import * as echarts from 'echarts/core'
import {
  BarChart,
  // 系列類(lèi)型的定義后綴都為 SeriesOption
  LineChart,
} from 'echarts/charts'
import {
  TitleComponent,
  // 組件類(lèi)型的定義后綴都為 ComponentOption
  TooltipComponent,
  GridComponent,
  // 數(shù)據(jù)集組件
  DatasetComponent,
  // 內(nèi)置數(shù)據(jù)轉(zhuǎn)換器組件 (filter, sort)
  TransformComponent,
} from 'echarts/components'
import { LabelLayout, UniversalTransition } from 'echarts/features'
import { CanvasRenderer } from 'echarts/renderers'
import { useEffect, useRef } from 'react'

// 注冊(cè)必須的組件
echarts.use([
  TitleComponent,
  TooltipComponent,
  GridComponent,
  DatasetComponent,
  TransformComponent,
  BarChart,
  LabelLayout,
  UniversalTransition,
  CanvasRenderer,
  LineChart,
])

const ECharts: React.FC = () => {
  // 1. get DOM
  const chartRef = useRef(null)

  useEffect(() => {
    // 2. 實(shí)例化表格對(duì)象
    const chart = echarts.init(chartRef.current as unknown as HTMLDivElement, undefined, {
      width: 1000,
      height: 500,
    })
    // 3. 定義數(shù)據(jù)
    const option = {
      title: {
        text: '測(cè)試圖表',
      },
      xAxis: {
        type: 'category',
        data: ['1-1', '1-2', '1-3', '1-5', '1-6', '1-7', '1-8', '1-9'],
      },
      yAxis: {
        type: 'value',
      },
      series: [
        {
          data: [140, 110, 100, 90, 70, 30, 10, 0],
          type: 'line',
        },
      ],
    }
    // 4. 調(diào)用表格數(shù)據(jù)
    chart.setOption(option)
  }, [])

  return <div className="charts" ref={chartRef} />
}

export default ECharts

錯(cuò)誤記錄

實(shí)例化Echarts的時(shí)候出現(xiàn):“類(lèi)型“null”的參數(shù)不能賦給類(lèi)型“HTMLElement”的參數(shù)”錯(cuò)誤,是typescript類(lèi)型檢查引起的,因此需要對(duì)該chartRef.current定義類(lèi)型,可以定義成any,這里用的是typescript的雙重?cái)嘌?/a>去定義的類(lèi)型。

發(fā)生錯(cuò)誤的代碼

修改后的代碼

注意:

類(lèi)型斷言只能夠「欺騙」TypeScript 編譯器,無(wú)法避免運(yùn)行時(shí)的錯(cuò)誤,反而濫用類(lèi)型斷言可能會(huì)導(dǎo)致運(yùn)行時(shí)錯(cuò)誤 類(lèi)型斷言只會(huì)影響
TypeScript 編譯時(shí)的類(lèi)型,類(lèi)型斷言語(yǔ)句在編譯結(jié)果中會(huì)被刪除,所以它不是類(lèi)型轉(zhuǎn)換,不會(huì)真的影響到變量的類(lèi)型。

將圖表改為自適應(yīng)容器大小 – .resize()

echarts中提供了resize函數(shù)能夠自動(dòng)改變圖表的大小,但是需要使用window.onresize監(jiān)聽(tīng)窗口的變化,只要窗口尺寸變化了就調(diào)用resize方法,并且圖表的寬度和高度要分別設(shè)置成百分比和vh單位,否則resize會(huì)失效。

基于上面的demo實(shí)現(xiàn)
多復(fù)制一個(gè)表格數(shù)據(jù)之后在調(diào)用表格數(shù)據(jù)后面加window.resize函數(shù),有多少個(gè)表就繼續(xù)往后面加多少個(gè)resize。

 // 4. 調(diào)用表格數(shù)據(jù)
    chart.setOption(option)
    chart2.setOption(option2)
    // 5. 將圖表變?yōu)樽赃m應(yīng)
    window.onresize = () => {
      chart.resize()
      chart2.resize()
    }

到此這篇關(guān)于react+typescript中使用echarts的實(shí)現(xiàn)步驟的文章就介紹到這了,更多相關(guān)react typescript中使用echarts內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • webpack4 + react 搭建多頁(yè)面應(yīng)用示例

    webpack4 + react 搭建多頁(yè)面應(yīng)用示例

    這篇文章主要介紹了webpack4 + react 搭建多頁(yè)面應(yīng)用示例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-08-08
  • react-native動(dòng)態(tài)切換tab組件的方法

    react-native動(dòng)態(tài)切換tab組件的方法

    在APP中免不了要使用tab組件,有的是tab切換,也有的是tab分類(lèi)切換.這篇文章主要介紹了react-native動(dòng)態(tài)切換tab組件的方法,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2018-07-07
  • React之PureComponent的使用作用

    React之PureComponent的使用作用

    這篇文章主要介紹了React之PureComponent的使用作用,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-07-07
  • react 組件表格固定底部的實(shí)現(xiàn)代碼

    react 組件表格固定底部的實(shí)現(xiàn)代碼

    在React中,要實(shí)現(xiàn)一個(gè)組件表格并且固定底部,可以使用CSS的固定定位或絕對(duì)定位來(lái)實(shí)現(xiàn),下面通過(guò)示例代碼給大家分享react 組件表格固定底部的實(shí)現(xiàn)代碼,感興趣的朋友跟隨小編一起看看吧
    2024-05-05
  • 回顧Javascript React基礎(chǔ)

    回顧Javascript React基礎(chǔ)

    這篇文章主要介紹了Javascript React基礎(chǔ),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的同學(xué)可以參考一下
    2019-06-06
  • React事件節(jié)流效果失效的原因及解決

    React事件節(jié)流效果失效的原因及解決

    這篇文章主要介紹了React事件節(jié)流效果失效的原因及解決,幫助大家更好的理解和學(xué)習(xí)使用React框架,感興趣的朋友可以了解下
    2021-04-04
  • 在react配置使用less的完美方案

    在react配置使用less的完美方案

    由于 create-react-app 使用 webpack 作為其模塊打包器,你需要修改 webpack 的配置來(lái)支持 .less 文件,這篇文章主要介紹了在react配置使用less的完美方案,需要的朋友可以參考下
    2024-04-04
  • React Ref Callback使用場(chǎng)景最佳實(shí)踐詳解

    React Ref Callback使用場(chǎng)景最佳實(shí)踐詳解

    這篇文章主要為大家介紹了React Ref Callback使用場(chǎng)景最佳實(shí)踐詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-01-01
  • react同構(gòu)實(shí)踐之實(shí)現(xiàn)自己的同構(gòu)模板

    react同構(gòu)實(shí)踐之實(shí)現(xiàn)自己的同構(gòu)模板

    這篇文章主要介紹了react同構(gòu)實(shí)踐之實(shí)現(xiàn)自己的同構(gòu)模板,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • 一文帶你搞懂react hooks的類(lèi)型聲明

    一文帶你搞懂react hooks的類(lèi)型聲明

    這篇文章主要給帶大家搞清楚react hooks的類(lèi)型聲明,如果有同學(xué)還不清楚react hooks的類(lèi)型聲明,來(lái)看本文就對(duì)了,文中通過(guò)代碼示例介紹的非常詳細(xì),需要的朋友可以參考下
    2023-07-07

最新評(píng)論