Я использую tabPan antd реагировать, это представленный код:
<TabPane tab={<span className="tabBtn"><Icon type="bar-chart" />Par Mois</span>} key="1">
<Bar
data={data_op_month}
width={100}
height={2}
options={{
maintainAspectRatio: false
}}
/>
</TabPane>
<TabPane tab={<span className="tabBtn"><Icon type="bar-chart" />Par Trimestre</span>} key="2">
<Bar
data={data_op_trimestre}
width={100}
height={2}
options={{
maintainAspectRatio: false
}}
/>
</TabPane>
<TabPane tab={<span className="tabBtn"><Icon type="bar-chart" />Par Année</span>} key="3">
<Bar
data={data_op_year}
width={100}
height={2}
options={{
maintainAspectRatio: false
}}
/>
</TabPane>
</Tabs>
Данные, введенные в диаграммы, загружаются из состояния, я делаю это внутри метода рендеринга.
T получил ошибку при переключении между вкладками приложение вылетает!
..
var type_vir1 = {
label: 'VIR inner-THRW',
backgroundColor: '#00d2d3',
borderWidth: 0,
data: null
};
..
var type_comm1 = {
label: 'VIR inner-THRW',
fill: false,
lineTension: 0.1,
backgroundColor: '#00d2d3',
borderColor: '#00d2d3',
borderCapStyle: 'butt',
borderDash: [],
borderDashOffset: 0.0,
borderJoinStyle: 'miter',
pointBorderColor: 'gray',
pointBackgroundColor: '#fff',
pointBorderWidth: 1,
pointHoverRadius: 5,
pointHoverBackgroundColor: 'black',
pointHoverBorderWidth: 2,
pointRadius: 1,
pointHitRadius: 10,
data: null
};
..
var data_op_mois = [];
var data_op_trimestre = [];
var data_op_year = [];
var data_comm;
var d1, d2, d3;
var data_op_mois1 = [20, 58, 11, 30, 14, 55, 20];
var data_op_mois2 = [20, 58, 11, 30, 14, 55, 20];
var data_op_mois3 = [20, 58, 11, 30, 14, 55, 20];
function init_data(state) {
console.log("debut init data : state =",state);
data_op_mois1=state.data_op_mois[0];
data_op_mois2=state.data_op_mois[1];
data_op_mois3=state.data_op_mois[2];
d1 = { ...type_vir1, data: data_op_mois1};
d2 = { ...type_vir2, data: data_op_mois2};
d3 = { ...type_vir3, data: data_op_mois3};
data_op_mois = {
labels: ['Jan', 'Fev', 'Mars', 'Avril', 'Mai', 'Juin', 'Juill', 'Aout', 'Sept', 'Oct', 'Nov', 'Dec'],
datasets: [
d1, d2, d3
]
};
..
render(){
..
init_data(this.state)
..
}
при сбое приложения отображается следующая ошибка:
TypeError: невозможно определить свойство "_chartjs": массив не является расширяемым
Ошибка типа: this.chartInstance не определена Ошибка типа: невозможно определить
свойство "_chartjs": массив не расширяемый