Der Code muss über 'Daten' iterieren und drei Diagramme im DOM erstellen. der eigentliche Code ist lang und nicht leicht reproduzierbar. Es ist ein Pseudo-Code. Ich weiß Es ist nicht ratsam, über die jQuery Append-Methode an DOM anzuhängen.
und Mock-Code ist wie folgt aus:
export class Combination extends React.Component {
componentDidMount(){
$.ajax(url:'something'
...
success(data): {
data.map(function(dataset){
$('<div id="chart">')
.append('#combination')
.highchart({
chart: {
...
}
})
}
}
)
}
}
Der Fehler ist „Uncaught Typeerror:. (0, _jquery2.default) (...) appendTo (...) highcharts ist keine Funktion. "
wenn ich ändern Sie den Code aus:
.highchart({
...
zu:
Highchart.chart('chart',{
})
aber was es schafft, ist wie folgt:
<div id='chart' data-highcharts-chart="2"></div>
<div id='chart'></div>
<div id='chart'></div>
es Charts wie dies schafft muss:
<div id='chart' data-highcharts-chart="0"></div>
<div id='chart' data-highcharts-chart="1"></div>
<div id='chart' data-highcharts-chart="2"></div>
es offensichtlich ist es nicht richtig ist, iterieren.
Sie benötigen JQuery überhaupt nicht. Versuchen Sie ein npm-Modul wie Axios für Ihre Anfragen. Ditch jQuery alle zusammen. –
Das ist ein sehr netter Punkt, aber 50k extra Bibliothek ist nicht so ein großer Deal für mich. –
Ja, aber jQuery manipuliert das DOM auf eine Weise, die in völligem Gegensatz zu der Art steht, wie React unter der Haube funktioniert. –