pourquoi s'abonner ne peut pas obtenir d'action. Je ne sais pas si ce qui suit est une bonne idée
listeners.slice().forEach(listener => listener())
//to
listeners.slice().forEach(listener => listener(action))
Les abonnés doivent réagir au nouvel état, pas à ce qui s'est passé.
Ceci est important pour assurer la cohérence.
Vous pouvez utiliser un middleware personnalisé pour le contourner.
S'il te plait regarde:
https://github.com/rackt/redux/issues/347
https://github.com/rackt/redux/issues/580
Dans mon cas, l'action est envoyée au serveur une fois l'"expédition" terminée. Le serveur a le même magasin Redux que le client et l'action modifie l'état du serveur pour se synchroniser avec l'état du client.
Dans ce cas, il est pratique d'attribuer le paramètre d'action à « subscribe listener ».
Bien sûr, cela peut être réalisé en utilisant un middleware. Mais il serait peut-être préférable qu'il s'agisse d'une méthode par défaut d'"écouteur d'abonnement".
En préparant le même magasin Redux dans le serveur et dans le client, la manipulation de l'état côté serveur devient la même que celle du client.
Dans ce concept, l'action est un synchroniseur d'état qui est transféré entre tous les clients connectés, y compris le serveur.
C'est exactement le cas d'utilisation du middleware.
Commentaire le plus utile
Les abonnés doivent réagir au nouvel état, pas à ce qui s'est passé.
Ceci est important pour assurer la cohérence.
Vous pouvez utiliser un middleware personnalisé pour le contourner.
S'il te plait regarde:
https://github.com/rackt/redux/issues/347
https://github.com/rackt/redux/issues/580