Redux: Cómo enviar muchas acciones en un creador de acciones

Creado en 1 jun. 2015  ·  3Comentarios  ·  Fuente: reduxjs/redux

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?

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.

Todos 3 comentarios

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());
  };
}
¿Fue útil esta página
0 / 5 - 0 calificaciones