118 votes

Comment déclencher un callback après la mise à jour de l'état dans Redux ?

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 .

1voto

Mohammad P Points 49

Comme solution simple, vous pouvez utiliser : redux-promesse

Mais si vous utilisez redux-thunk tu devrais faire quelque chose comme ça :

function addCost(data) {
  return dispatch => {
    var promise1 = new Promise(function(resolve, reject) {
      dispatch(something);
     });
    return promise1;
  }
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X