Aller au contenu principal

RxJS

RxJS, ou Reactive Extensions for JavaScript, est une librairie permettant la programmation réactive en utilisant des observables pour simplifier la composition de code asynchrone ou basé sur des événements.

Site officiel : RxJS
Ressources :

Nom : Reactive Extensions for JavaScript (RxJS)
Paradigme : Programmation Réactive
Quand l'utiliser ?
Lorsque vous travaillez avec divers frameworks, pas seulement React, comme Angular ou lorsque vous avez besoin de gérer ou de manipuler des événements ou des données asynchrones de manière complexe.
Utilité :

  • Gérer des flux de données asynchrones.
  • Gérer des événements, animations, websockets, gestion d'erreurs, délais, et plus encore.

Concepts clés :

  • Observable : Objet central qui émet une séquence de valeurs ou d'événements sur le temps.
  • Opérateurs : Méthodes purement fonctionnelles utilisées pour gérer les valeurs émises par un observable.
  • Tree Shaking : Méthode pour éliminer le code mort et réduire la taille du bundle.

Processus d'utilisation de RxJS

Créer un Observable : C'est le producteur de valeurs. S'abonner à l'Observable : Cela permet d'écouter et de réagir aux valeurs émises. Intégrer dans votre application : Combinez divers opérateurs et méthodes pour obtenir le comportement souhaité.

Lexique

  • Observable : C'est un producteur de plusieurs valeurs, poussant des données vers un abonné.
  • Abonnement : C'est l'acte d'écouter les valeurs émises par un observable. Lorsqu'un observable est abonné, il commence à émettre des valeurs. Il est également important de se désabonner d'un observable pour éviter des fuites de mémoire ou des comportements non désirés.

Notes

La programmation réactive est puissante, mais elle a une courbe d'apprentissage. Prenez le temps de comprendre les concepts de base et de jouer avec eux. Commencez petit, lisez la doc, et construisez à partir de là un petit projet pour comprendre.

Basé sur les evenements, l'asynchrome est même après plusieurs années de pratique un sujet complexe.