代碼必須遍歷'data'並在DOM中創建三個圖表。 實際的代碼很長,不容易重現。這是一個模擬代碼。我知道通過jQuery append方法追加到DOM是不明智的。
和模擬碼是這樣的:
export class Combination extends React.Component {
componentDidMount(){
$.ajax(url:'something'
...
success(data): {
data.map(function(dataset){
$('<div id="chart">')
.append('#combination')
.highchart({
chart: {
...
}
})
}
}
)
}
}
錯誤是「未捕獲類型錯誤:(0,_jquery2.default)(...)appendTo(...)highcharts不是一個函數。 「
當我的代碼 改變從:
.highchart({
...
到:
Highchart.chart('chart',{
})
但它所產生是這樣的:
<div id='chart' data-highcharts-chart="2"></div>
<div id='chart'></div>
<div id='chart'></div>
它必須像這樣製作出圖表:
<div id='chart' data-highcharts-chart="0"></div>
<div id='chart' data-highcharts-chart="1"></div>
<div id='chart' data-highcharts-chart="2"></div>
很明顯它不是迭代正常。
根本不需要JQuery。爲您的請求嘗試像axios npm模塊。一起溝通jQuery。 –
這是一個非常好的點,但50k額外的圖書館對我來說並不是什麼大事。 –
是的,但jQuery以與React如何在引擎蓋下工作完全相反的方式操縱DOM。 –