Action creators

Los action creators son funciones que retornan acciónes (los objetos que se le pasan al dispatch del store). Son opcionales pero se considera una buena práctica crearlos.

Generalmente las acciones tienen una llave type que define el tipo de acción que se quiere invocar sobre la función reductora. Por ejemplo:

store.dispatch({
type: "NEW_TASK",
task: task
});

Con un action creator, en vez de pasarle la acción directamente al dispatch, crearíamos una función que va a construir la acción. Por ejemplo:

const newTask = task => {
return {
type: "NEW_TASK",
task: task
}
}

Y el dispatch lo invocaríamos de la siguiente forma:

store.dispatch(newTask(task));

Las ventajas son las siguientes:

  1. Hacen el código más fácil de leer.

  2. Evitan tener las cadenas de texto del type quemadas por todo el código.

  3. Facilitan conocer los parámetros que necesita la acción.

  4. Permiten agregar lógica adicional (esto va a ser muy importante más adelante cuando hablemos de los middlewares).