Ich habe ein Paar Redux-Aktionen, die ich absetzen möchte, wenn eine Taste gedrückt wird. Einer von ihnen sollte eine Liste von Dienstleistungen und Minderer Logik darauf ausführen, und der andere sollte nur eine gewisse Logik in der Reduktions auslösen:Redux-Thunk nicht Aktionen zu verschicken
function retrieveServices(services) {
return {
type: RETRIEVE_SERVICES,
services,
};
}
function toggleSubmitState() {
return {
type: TOGGLE_SUBMIT_STATE,
};
}
Ich habe die folgende Aktion, die ich angenommen würde den Trick tun:
export function submitGameplan(services) {
return (dispatch => {
dispatch(toggleSubmitState());
dispatch(retrieveServices(services));
};
}
Dies ist, wie ich es in meiner Komponente nennen:
const { submitter, dispatch, services } = this.props;
const submitWithServices =() => {
dispatch(submitter(services));
};
return (
<div>
<button onClick={submitWithServices}>
<div>Submit</div>
</button>
</div>
);
wo die submitter
Aktion in submitGameplan
ist geleitet wird.
Obwohl Redux-Thunk scheint die Aktion abholen und feuern es (ich bekomme console.log-Ausgabe), es ist nicht die Aktionen zu versenden.
Abgesehen von der (wahrscheinlich) Möglichkeit, dass ich die Funktion in meinem Handeln falsch nennen, vielleicht gibt es einige Probleme mit der Tatsache, dass ich diese App-Level-Komponente in meinem Haupt getan habe:
const boundActions = bindActionCreators(actions, dispatch);
und dann alle Aktionen wie boundActions
übergeben, dh meine Komponente würde boundActions.submitGameplan
bekommen.
Dennoch bin ich nicht sicher, warum diese Aktion keine der beiden Aktionen wie beschrieben absetzen würde.
Sind Sie eigentlich die Redux-Thunk Middleware? Wie sieht Ihre Store-Initialisierung aus? Was meinen Sie, dass Sie console.log Ausgabe bekommen? Von redux-logger? – lohfu