Sommaire

Les effets de Redux-Saga

Le but principal de Redux-Saga est de proposer une manière de gérer des effets de bord dans une application utilisant Redux. Pour cela, de la même manière que dans notre exemple précédent où nous déclenchions des effets pour demander une saisie de l’utilisateur ou lui afficher une valeur, nous allons déclencher des effets de Redux-Saga, cette fois-ci pour interagir avec Redux ou déclencher d’autres effets de bord.

Les effets qu’il est possible de déclencher dans Redux-Saga sont de plusieurs types. L’effet call par exemple permet d’appeler une fonction, éventuellement asynchrone, et d’en récupérer le résultat. Typiquement, il s’agit d’une fonction ayant justement des effets de bord, comme une requête à une API.

Des effets permettent de manipuler le store de Redux :

  • select lit une valeur dans le store grâce à un sélecteur, de manière semblable au hook useSelector. select

  • put dispatche une action. put

  • take attend l’arrivée d’une action d’un type donné. take

Enfin, des effets permettent de manipuler l’exécution de la saga elle-même : fork pour dupliquer l’exécution de la saga courante, delay pour attendre une certaine durée, etc.

Afin de mieux comprendre ces effets et voir comment les utiliser, démarrons un exemple simple. Celui-ci ne fera que créer un store Redux, pas de React pour ...