Acabo de terminar de leer los fundamentos de redux del documento de Redux. Ahora entiendo lo que sucede debajo de las funciones de middleware y algunas de las otras características de Redux. Pero no puedo evitar preguntarme por qué debe usar redux-thunk al procesar la lógica asíncrona cuando simplemente puede hacer:
const fetchSomething = async () => { const { data } = await axios('someEndpoint..'); dispatch({ type: 'FETCH_SOME_DATA', payload: data.something }); }e importe esto desde componentes que necesitan esta lógica. De alguna manera similar a los creadores de acciones, aunque no devuelve un objeto de acción.
EDITAR: al revisar mi pregunta, me di cuenta de que la función fetchSomething necesita dispatch como parámetro para que se reutilice en diferentes componentes.