Tengo un ejemplo de 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)
);
}
¿Cómo implementar el mismo creador de acciones en redux? ¿Debo crear un creador de acciones para cada tipo de acción?
Probablemente dejaría que el creador de acciones devuelva una función. Si es una función, se le da dispatch
y el estado.
Agregué soporte para AC asíncronos como se describe anteriormente. Por ahora, no pueden acceder al estado; probablemente volveré a él en algún momento, pero no quiero apresurar una API.
Actualización: puedes hacer esto ahora.
// Could also look into state in the callback form
export function incrementIfOdd() {
return (dispatch, state) => {
if (state.counterStore.counter % 2 === 0) {
return;
}
dispatch(increment());
};
}
Comentario más útil
Probablemente dejaría que el creador de acciones devuelva una función. Si es una función, se le da
dispatch
y el estado.