รายละเอียดสำหรับเรียนรู้ React ปี 2020-2023 โดยโค้ชพล ดูหลักสูตรได้ที่ https://www.nextflow.in.th/react-training
เปิดไฟล์ src/components/StatChart.js
เนื่องจาก Google Chart component รับข้อมูลในรูปแบบเฉพาะของมันเอง ลองดูตัวอย่างได้ที่นี่
เราจึงต้องเอาข้อมูลจาก this.props.selectedBranch มาแปลงนิดหน่อย ก่อนเอาไปใช้จริง
import React, { Component } from 'react'
import { Card } from 'antd';
import Chart from 'react-google-charts';
import { connect } from 'react-redux'
export class StatChart extends Component {
render() {
let finalChartData = [];
// ถ้ามีข้อมูลจาก this.props.selectedBranch ให้ทำการแปลงข้อมูล
if (this.props.selectedBranch) {
let branch = this.props.selectedBranch;
console.log('Selected Branch:', branch);
finalChartData.push(branch.chartData.chartField);
let chartDatas = branch.chartData.datas;
if (chartDatas && chartDatas.length > 0) {
chartDatas.forEach(data => {
finalChartData.push([data.month, data.amount]);
})
} else {
finalChartData.push(['', 0]);
}
}
return (
<div>
<Card title="Chart" style=>
<Chart
width={'100%'}
height={'400px'}
chartType="Line"
loader={<div>Loading Chart</div>}
data={finalChartData}
rootProps=data-testid
/>
</Card>
</div>
)
}
}
const mapStateToProps = (state) => ({
selectedBranch: state.selectedBranch
})
const mapDispatchToProps = {
}
export default connect(mapStateToProps, mapDispatchToProps)(StatChart);