En React, l'état n'est pas mis à jour instantanément, nous pouvons donc utiliser un callback dans la fonction setState(state, callback)
. Mais comment le faire dans Redux ?
Après avoir appelé le this.props.dispatch(updateState(key, value))
J'ai besoin de faire quelque chose avec l'état mis à jour immédiatement.
Y a-t-il un moyen d'appeler un callback avec le dernier état comme je le fais dans React ?
0 votes
Utilisez-vous
thunk
?2 votes
Je pense
dispatch()
est une activité synchrone. L'état mis à jour doit être disponible dans la ligne suivante.4 votes
@PraneshRavi Je le pensais. Mais j'ai obtenu l'ancien état. Je n'ai pas utilisé
thunk
.0 votes
Quel est votre cas d'utilisation ? Vous avez mentionné un appel API ?
2 votes
La répartition de Redux est synchrone .
2 votes
Oui, la répartition est synchrone, mais la mise à jour ultérieure des accessoires du composant ne l'est pas. Par conséquent, l'état de redux est mis à jour dans la ligne suivante, mais les accessoires du composant ne le sont pas encore.
0 votes
Je pense que redux saga est une bonne solution, voir cette réponse
0 votes
Utilisez "useEffect" de l'API Hooks, une manière plus réactive de gérer cela.