J'ai rencontré ce problème plusieurs fois où je veux accéder à action.payload
plus bas dans la chaîne. Mais d'ici là, l'argument passé à mergeMap
a déjà changé en quelque chose d'autre.Redux Observable: Comment utiliser action.payload dans la dernière partie de la chaîne?
Compte tenu de mon action ressemble à ceci:
{
type: BUY_GEMS,
payload: { value: 123, productIdentifier: "ABC123" }
}
Et cette épopée:
function purchaseGems(action$, store) {
return action$
.ofType(BUY_GEMS)
.mergeMap(action => {
const { productIdentifier } = action.payload; // <-------- works because it's the first mergeMap in this sequence
return Observable.fromPromise(
// Some promise call
).catch(error => Observable.of(buyGemsRejected(error)));
})
.mergeMap(action => {
const { value } = action.payload; // <----------- doesn't work because "action" is now just the response of the Promise above.
...
});
}
Comment puis-je faire cela?
vous le meilleur !!!! – Edmund