J'ai un exemple sur fluce :
function authFormSubmit(fluce) {
const {valid, disabled, data: {username, password}} = fluce.stores.authForm
if (disabled) return
if (!valid) {
fluce.dispatch(AUTH_FORM_ERROR, new Error('Form is invalid'))
return
}
fluce.dispatch(AUTH_FORM_DISABLED, true)
fluce.dispatch(AUTH_FORM_ERROR, null)
authorize({username, password})
.then(
user => fluce.dispatch(CURRENT_USER, user),
error => fluce.dispatch(AUTH_FORM_ERROR, error)
)
.then(
() => fluce.dispatch(AUTH_FORM_DISABLED, false)
);
}
Comment implémenter le même créateur d'action dans redux? Dois-je créer un créateur d'action pour chaque type d'action ?
Je laisserais probablement le créateur d'action retourner une fonction. Si c'est une fonction, on lui donne dispatch
et l'état.
J'ai ajouté la prise en charge des AC asynchrones comme décrit ci-dessus. Pour l'instant, ils ne peuvent pas accéder à l'état - j'y reviendrai probablement à un moment donné, mais je ne veux pas précipiter une API.
Mise à jour : vous pouvez le faire maintenant.
// Could also look into state in the callback form
export function incrementIfOdd() {
return (dispatch, state) => {
if (state.counterStore.counter % 2 === 0) {
return;
}
dispatch(increment());
};
}
Commentaire le plus utile
Je laisserais probablement le créateur d'action retourner une fonction. Si c'est une fonction, on lui donne
dispatch
et l'état.