Transcript
00:00:00React vient de recevoir un nouvel outil très intéressant qui change complètement notre façon de
00:00:05concevoir le rendu d'éléments d'interface interactifs comme les modales, les boîtes de dialogue ou de confirmation.
00:00:11Il s'appelle React Call.
00:00:13Si vous avez déjà créé un assistant de formulaire complexe en plusieurs étapes, une modale de confirmation ou un
00:00:18sélecteur d'éléments dans React, vous savez que gérer les états d'ouverture, transmettre les rappels de succès et
00:00:24gérer les promesses peut transformer votre code en un véritable plat de spaghettis.
00:00:28Mais React Call est conçu pour résoudre ce problème.
00:00:31Donc, dans la vidéo d'aujourd'hui, nous allons examiner React Call, voir comment il fonctionne et regarder
00:00:36quelques exemples de code.
00:00:37Ça va être très amusant, alors plongeons dans le sujet.
00:00:44Alors, qu'est-ce que React Call exactement ?
00:00:47Eh bien, c'est un utilitaire léger qui vous permet d'appeler des composants React comme des fonctions
00:00:52asynchrones.
00:00:53Pensez à l'API native du navigateur window.confirm.
00:00:57Lorsque vous l'appelez, votre code s'interrompt littéralement, attend que l'utilisateur clique sur OK ou Annuler, et
00:01:03renvoie une valeur booléenne directement en ligne.
00:01:06Cela maintient votre logique métier entièrement locale à l'appelant.
00:01:09Et React Call apporte exactement ce même modèle mental intuitif directement dans le monde React moderne.
00:01:16Au lieu de créer une variable d'état séparée comme isModalOpen, de transmettre une prop onClose ou
00:01:22onSubmit, et de configurer des fournisseurs de contexte complexes ou des portails, vous pouvez simplement attendre la
00:01:29réponse du composant.
00:01:30Sous le capot, il abstrait la gestion des promesses, gère les requêtes et les réponses typées
00:01:36dès la sortie de la boîte, et prend entièrement en charge le remplacement de module à chaud, pour que votre flux de développement reste
00:01:41rapide.
00:01:42Et il apporte trois concepts à la table : racine et pile, upsert, et flux de mutation.
00:01:48Le premier concept majeur est donc la racine et la pile.
00:01:50Avec React Call, le composant appelable que vous créez n'est pas une fonction.
00:01:54Il agit en fait comme son propre point de montage dans votre arbre d'application.
00:01:58Vous placez le composant comme une balise racine partout où il est visible, comme dans votre fichier app ou un fichier de mise en page
00:02:03de haut niveau, et il reste là comme un écouteur.
00:02:06Lorsque vous déclenchez plusieurs appels, React Call les gère en utilisant une pile interne, et il
00:02:11gère automatiquement le rendu de chaque instance active.
00:02:14Et il gère également les animations de sortie propres lorsqu'ils se ferment et garde les instances isolées afin
00:02:20qu'elles ne se marchent pas sur les pieds.
00:02:22Ensuite vient l'upsert, qui est un véritable sauveur pour les modèles d'interface singleton.
00:02:27Normalement, si vous appelez un composant plusieurs fois, il pousse une nouvelle instance sur la pile.
00:02:33Mais que faire si vous construisez un toast de notification global, ou une superposition de chargement, ou un indicateur
00:02:39de progression où vous ne voulez qu'une seule instance à l'écran à la fois ?
00:02:45Eh bien, au lieu d'exécuter call, vous pouvez exécuter upsert.
00:02:48Et si une instance est déjà active, il met à jour en douceur le composant existant avec vos nouvelles
00:02:52données à la volée, plutôt que de créer un doublon.
00:02:56Et enfin, nous avons le flux de mutation.
00:02:58Cette bibliothèque inclut un hook useMutationFlow intégré, spécifiquement conçu pour lier votre interface
00:03:04appelable directement aux actions asynchrones.
00:03:06Si vous avez une modale de confirmation qui déclenche une lourde requête API backend lors de la soumission, le hook
00:03:12gère l'état en attente pour vous dès le départ.
00:03:15Il garantit que la modale reste ouverte et affiche un spinner de chargement pendant que la fonction asynchrone s'exécute et
00:03:21ne termine officiellement l'appel qu'une fois la promesse résolue avec succès.
00:03:25Il fait donc magnifiquement le pont entre l'état de votre interface et vos mutations de données.
00:03:29Alors maintenant, regardons quelques exemples pratiques sur leur site web, parce que je pense qu'ils sont très
00:03:34explicites.
00:03:36Et je pense qu'ils montrent aussi à quel point vous avez besoin d'écrire peu de code pour obtenir quelque chose.
00:03:41Donc par exemple, dans la boîte de dialogue de confirmation, nous avons juste besoin de créer un appelable ici.
00:03:48Et ensuite, nous enveloppons notre composant comme un composant d'ordre supérieur avec ce hook create callable.
00:03:54Et ensuite, nous pouvons passer les fonctions d'appel pour nos boutons lors du clic.
00:04:01Et c'est tout ce dont nous avons besoin pour l'objet appelable.
00:04:04Et à la racine, nous avons juste besoin d'importer le composant lui-même.
00:04:08Et pour le bouton de suppression, puisque notre composant de confirmation est enveloppé avec la fonction d'ordre supérieur
00:04:14create callable, nous pouvons simplement l'invoquer de manière asynchrone sur cette fonction handle click.
00:04:21Donc, très propre, très ordonné, pas beaucoup de boilerplate.
00:04:26Et vous n'avez pas besoin d'utiliser des fournisseurs de contexte, des variables d'état, Redux ou Zustand.
00:04:31Et si vous voulez aller plus loin dans les cas d'utilisation, vous pouvez consulter la section des exemples
00:04:36et chaque exemple fournit également un extrait de code.
00:04:40Certains d'entre eux sont même très complexes, comme par exemple, ceux qui traitent d'actions asynchrones
00:04:46qui s'exécutent en arrière-plan.
00:04:49Donc, vous pouvez consulter tous ces exemples sympas.
00:04:52Je trouve ça super cool et super léger.
00:04:55Bien joué.
00:04:56Voilà, les amis.
00:04:57C'est React Call en quelques mots.
00:04:59Eh bien, vous pourriez certainement coder vous-même un wrapper de promesse personnalisé de base ou une modale unique.
00:05:06Je pense que cette bibliothèque gère magnifiquement tous les cas limites délicats, comme la gestion de multiples
00:05:11instances actives dans une pile ou la mise à jour de singletons via upsert et la synchronisation des états de l'interface avec de lourdes
00:05:17mutations backend.
00:05:18Donc, je pense que c'est un utilitaire léger super sympa à garder dans votre boîte à outils frontend pour une architecture
00:05:24React plus propre et plus lisible.
00:05:26Que pensez-vous de React Call ?
00:05:28Aimez-vous ce modèle ?
00:05:29Allez-vous l'utiliser dans vos projets ?
00:05:31Faites-le nous savoir dans la section des commentaires ci-dessous.
00:05:33Et les amis, si vous aimez ces types de analyses techniques, s'il vous plaît faites-le moi savoir en écrasant
00:05:37ce bouton “j'aime” sous la vidéo.
00:05:39Et n'oubliez pas non plus de vous abonner à notre chaîne.
00:05:42C'était Andrus de BetterStack, et je vous verrai dans les prochaines vidéos.
00:05:58vous
Community Posts
No posts yet. Be the first to write about this video!
Write about this video