Heim >Web-Frontend >js-Tutorial >Einführung in responsive React Native Echarts-Komponenten

Einführung in responsive React Native Echarts-Komponenten

不言
不言Original
2018-07-14 11:17:562172Durchsuche

Dieser Artikel stellt hauptsächlich die Einführung von responsiven React Native Echarts-Komponenten vor. Er hat einen gewissen Referenzwert. Jetzt können Freunde in Not darauf verweisen.

In den letzten Jahren Die Anforderungen an die Datenvisualisierung werden immer höher und herkömmliche Diagrammbibliotheken wie MPAndroidChart können den zunehmend ungewöhnlichen Anforderungen von Produktmanagern nicht mehr gerecht werden. Die Entwicklung der Datenvisualisierung im Front-End-Bereich ist relativ erfolgreich. Die Verwendung einer leistungsstarken Front-End-Datenvisualisierungsbibliothek wie Echarts auf dem mobilen Endgerät über WebView ist eine gute Möglichkeit, das Problem zu lösen.

Da in der React Native-Entwicklung dieselbe JavaScript-Sprache wie im Front-End verwendet wird, verläuft die Verbindung von Echarts relativ reibungslos, aber einige notwendige Komponentenkapselungen können die Entwicklungseffizienz dennoch erheblich verbessern.

Echarts hat offiziell eine Verpackungsbibliothek eines Drittanbieters empfohlen: React-Native-Echarts (Hinweis: Der entsprechende NMP-Paketname lautet Native-Echarts. Sie hat derzeit mehr als 400 Sterne und mehr als 100 wöchentliche Downloads.) gesehen werden Es ist immer noch weit verbreitet. Nach unserer Untersuchung haben wir jedoch festgestellt, dass React-Native-Echarts die folgenden Probleme aufweist:

  • Die Echarts-Version wurde seit mehr als einem halben Jahr nicht mehr aktualisiert 3.0. Für die Android-Verpackung ist das manuelle Hinzufügen von Assets erforderlich.

  • Die Schnittstellenflexibilität der Bibliothek ist gering, die Größe kann beispielsweise nur über Breite und Höhe eingestellt werden ; das Echarts-Erweiterungspaket kann nicht verwendet werden; Ereignisregistrierung, WebView-Kommunikation usw. können nicht durchgeführt werden

Da die Verwendung von WebView zum Kapseln von Echarts lokales HTML beinhaltet, handelt es sich nicht um eine reine JavaScript-Sprachebene Funktion, und es gibt keinen nativen Code, daher ist es keine gute Wahl, es in ein NMP-Paket zu schreiben. Schreiben Sie es in die internen Komponenten des Projekts, es ist eine bequemere und flexiblere Lösung, es selbst zu konfigurieren.

Deshalb haben wir uns entschieden, die Verpackungsbibliothek Echarts eines Drittanbieters nicht zu verwenden und selbst ein universelles Komponenten-WebChart zu schreiben. Um die Verwendung während der Entwicklung zu erleichtern, verfügt diese Komponente über die folgenden Eigenschaften:

  • Sie ist auf Reaktionsfähigkeit ausgelegt. Sie müssen lediglich die Datenquelle in der Option und das Diagramm konfigurieren Wird automatisch aktualisiert, wenn sich die Daten entsprechend dem Stil von React ändern.

    Unsere Lösung besteht darin, bei jeder Aktualisierung der Komponente festzustellen, ob sich der Parameter der eingehenden Option geändert hat. Wenn die Änderung auftritt, übergeben Sie webView.postMessage und übergeben Sie die neue Option in Form von JSON, um Echarts erneut an setOption zu benachrichtigen .

    Obwohl Echarts selbst Optionen vergleicht, kann eine Vorabbeurteilung die durch Aktualisierungen verursachte häufige Kommunikation mit WebView reduzieren. Dies ist immer noch offensichtlich, wenn in der übergeordneten Containerkomponente eine große Anzahl von Aktualisierungen vorliegt nutzt die setOption von Echarts selbst, ohne das gesamte WebView neu zu laden

  • Mithilfe der postMessage- und onMessage-Schnittstellen von WebView kann die Ereigniskommunikation zwischen Diagrammen und anderen React Native-Komponenten realisiert werden

  • Sie können WebView jedes Skript über den exScript-Parameter der Komponente hinzufügen, der flexibel zu verwenden ist

  • Da es sich um eine selbst geschriebene Komponente handelt, ist die Echarts-Version Erweiterungspaket, SVG/Canvas, Daten Inkrementelles Laden kann selbst eingestellt werden

Demo und Verwendung

Nutzung und Beispiele finden Sie unter: React-Native-Echarts- Demo, wenn Sie es direkt verwenden müssen, können Sie es gemäß den folgenden Schritten transplantieren:

  1. Kopieren Sie den WebChart-Komponentenordner im Stammverzeichnis an einen geeigneten Ort in Ihrem Projekt

  2. Ändern Sie /android. Kopieren Sie den Ordner /app/src/main/assets/web an denselben Speicherort wie Ihr Projekt. Es gibt keinen Assets-Ordner, der manuell erstellt werden muss.

Sie benötigen nur die beiden oben genannten Schritte, um die WebChart-Komponente in Ihrem Projekt zu verwenden.

Wenn Sie weitere Anpassungen benötigen, befindet sich der Echarts-Code im