React peut gérer les requêtes asynchrones ajax dans les hooks, pourquoi devons-nous utiliser un middleware dans redux pour les gérer ? Y a-t-il une différence entre les 2 ?
Pour une petite WebApp, l'état est relativement petit. Vous ne pouvez utiliser ReactJS que pour l'implémenter, lancer une requête AJAX lors du rappel d'événement et mettre à jour l'état du composant ReactJS une fois la requête réussie, mettant ainsi à jour la vue.
Mais dans une WebApp à plus grande échelle, il existe de nombreux modules et de nombreux états. À l'heure actuelle, Redux doit être introduit pour gérer l'état de l'ensemble de la WebApp. Il n'est utilisé que comme couche View et distribue l'action correspondante en fonction. les événements déclenchés par l’utilisateur. Il n’y aura pas de logique métier.
À ce stade, la requête Ajax sera traitée en action, mais Redux ne peut distribuer Plain Object qu'en tant qu'action par défaut. Après avoir ajouté le middleware redux-thunk, vous pouvez distribuer la fonction en tant qu'action et vous pouvez faire ce que vous voulez. dans la fonction. Bien entendu, vous pouvez également lancer des requêtes Ajax pour prendre en charge les événements asynchrones.
Pour une petite WebApp, l'état est relativement petit. Vous ne pouvez utiliser ReactJS que pour l'implémenter, lancer une requête AJAX lors du rappel d'événement et mettre à jour l'état du composant ReactJS une fois la requête réussie, mettant ainsi à jour la vue.
Mais dans une WebApp à plus grande échelle, il existe de nombreux modules et de nombreux états. À l'heure actuelle, Redux doit être introduit pour gérer l'état de l'ensemble de la WebApp. Il n'est utilisé que comme couche View et distribue l'action correspondante en fonction. les événements déclenchés par l’utilisateur. Il n’y aura pas de logique métier.
À ce stade, la requête Ajax sera traitée en action, mais Redux ne peut distribuer Plain Object qu'en tant qu'action par défaut. Après avoir ajouté le middleware redux-thunk, vous pouvez distribuer la fonction en tant qu'action et vous pouvez faire ce que vous voulez. dans la fonction. Bien entendu, vous pouvez également lancer des requêtes Ajax pour prendre en charge les événements asynchrones.