文章目录
echarts-for-react :一个简单的 Apache echarts 的 React 封装 配置项手册:https://echarts.apache.org/zh/option.html#title
$ npm install --save echarts-for-react
$ npm install --save echarts
import ReactECharts from 'echarts-for-react' ;
import { useEffect, useState } from 'react' ; export default function ( ) { const [ names, setNames] = useState ( [ ] ) ; const [ topCounts, setTopCounts] = useState ( [ ] ) ; const getTopViewOption = ( ) => ( { title: { subtext: '成员读取次数' , } , tooltip: { } , legend: { borderWidth: 1 , borderColor: 'rgb(229, 231, 235)' , } , yAxis: { data: names, } , grid: { left: 110 , } , xAxis: { } , series: [ { type: 'bar' , data: topCounts, } , ] , } ) ; function transferListDataToChart ( list) { const xArrays = [ ] ; const yArrays = [ ] ; list. forEach ( ( item) => { xArrays. push ( item. query_user) ; yArrays. push ( item. count) ; } ) ; setNames ( xArrays) ; setTopCounts ( yArrays) ; } useEffect ( ( ) => { async function fetchData ( ) { try { const mock = [ { query_user: 'zhangsan' , count: 7 , } , { query_user: 'lisi' , count: 6 , } , { query_user: 'wangwu' , count: 9 , } , ] ; transferListDataToChart ( mock) ; } catch ( err) { transferListDataToChart ( [ ] ) ; console . log ( err) ; } } fetchData ( ) ; } , [ ] ) ; return ( < div style= { { width: '100%' } } > < ReactECharts option= { getTopViewOption ( ) } / > < / div> ) ;
}