Maison >interface Web >js tutoriel >Introduction aux composants réactifs React Native Echarts

Introduction aux composants réactifs React Native Echarts

不言
不言original
2018-07-14 11:17:562172parcourir

Cet article présente principalement l'introduction des composants React Native Echarts réactifs. Il a une certaine valeur de référence. Maintenant, je le partage avec tout le monde. Les amis dans le besoin peuvent s'y référer

Ces dernières années, avec le terminal mobile. Les exigences en matière de visualisation des données sont de plus en plus élevées, et les bibliothèques de graphiques traditionnelles comme MPAndroidChart ne peuvent plus répondre aux besoins de plus en plus anormaux des chefs de produit. Le développement de la visualisation de données dans le domaine front-end est relativement prospère. L'utilisation d'une puissante bibliothèque de visualisation de données frontale comme Echarts sur le terminal mobile via WebView est un bon moyen de résoudre le problème.

Dans le développement React Native, puisque le même langage JavaScript est utilisé comme front-end, le travail de connexion des Echarts est relativement fluide, mais l'encapsulation de certains composants nécessaires peut encore améliorer considérablement l'efficacité du développement.

Echarts a officiellement recommandé une bibliothèque d'empaquetage tierce : react-native-echarts (remarque : son nom de package nmp correspondant est native-echarts. Il compte actuellement plus de 400 étoiles et plus de 100 téléchargements hebdomadaires, qui peuvent). être vu Il est encore largement utilisé. Cependant, après notre enquête, nous avons constaté que React-Native-Echarts présentait les problèmes suivants :

  • La bibliothèque n'a pas été mise à jour depuis plus de six mois. La version Echarts est bloquée. 3.0. Le packaging Android nécessite l'ajout manuel d'actifs. Le problème n'a pas encore été résolu

  • La flexibilité de l'interface de la bibliothèque est faible, par exemple, la taille ne peut être définie qu'en largeur et en hauteur. ; le package d'extension Echarts ne peut pas être utilisé ; l'enregistrement d'événements, la communication WebView, etc. ne peuvent pas être effectués

Étant donné que l'utilisation de WebView pour encapsuler Echarts implique du HTML local, ce n'est pas une fonction à l'état pur. Niveau langage JavaScript, et il n'y a pas de code natif, donc en faire un package nmp n'est pas un bon choix. Écrivez-le dans les composants internes du projet, le configurer vous-même est une solution plus pratique et plus flexible.

Nous avons donc décidé de ne pas utiliser la bibliothèque de packaging tierce Echarts et d'écrire nous-mêmes un composant universel WebChart. Afin de faciliter l'utilisation lors du développement, ce composant présente les caractéristiques suivantes :

  • Il est conçu en fonction de la réactivité Il vous suffit de configurer la source de données dans l'option, et le graphique. sera automatiquement actualisé lorsque les données changent, conformément au style de React.

    Notre solution consiste à déterminer si le paramètre d'option entrant a changé à chaque mise à jour du composant. Si le changement se produit, transmettez webView.postMessage et transmettez la nouvelle option sous forme de JSON pour informer Echarts de définir à nouveau Option. .

    Bien qu'Echarts lui-même compare les options, le jugement préalable peut réduire les communications fréquentes avec WebView causées par les mises à jour. Cela est toujours évident lorsqu'il y a un grand nombre de requêtes asynchrones dans le composant parent du conteneur à l'intérieur de WebView, il met à jour ; utilise l'option setOption d'Echarts lui-même sans recharger l'intégralité de WebView

  • En utilisant les interfaces postMessage et onMessage de WebView, la communication d'événements entre les graphiques et d'autres composants React Native peut être réalisée

  • Vous pouvez ajouter n'importe quel script à WebView via le paramètre exScript du composant, qui est flexible à utiliser

  • Parce qu'il s'agit d'un composant auto-écrit, version echarts, package d'extension, svg/canvas, données Le chargement incrémentiel peut être défini par vous-même

Démo et utilisation

Pour l'utilisation et les exemples, veuillez consulter : react-native-echarts- démo, si vous devez l'utiliser directement, vous pouvez le transplanter selon les étapes suivantes :

  1. Copiez le dossier du composant WebChart dans le répertoire racine à un endroit approprié de votre projet

  2. Modifier /android Copiez le dossier /app/src/main/assets/web au même emplacement que votre projet. Aucun dossier d'actifs ne doit être créé manuellement.

Vous n'avez besoin que des deux étapes ci-dessus pour utiliser le composant WebChart dans votre projet.

Si vous avez besoin d'une personnalisation supplémentaire, le code Echarts se trouve dans la balise