Please explain why my code can't replace redux-thunk

Viewed 41

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.

0 Answers
Related