I have just finished reading redux fundamentals from the Redux doc. I now understand what happens underneath middleware functions and some of the other features of Redux. But I can't help questioning why you must use redux-thunk when processing async logic when you can just do:
const fetchSomething = async () => {
const { data } = await axios('someEndpoint..');
dispatch({ type: 'FETCH_SOME_DATA', payload: data.something });
}
and import this from components that need this logic. Somehow similar to action creators, though it doesn't return an action object.
EDIT: reviewing my question, I realized that fetchSomething function needs dispatch as parameter in order for it to be reused in different components.