The key benefit provided by redux-thunk is it allows us to avoid directly causing side effects in our actions, action creators, or components . Potentially messy code can be isolated in a thunk, leaving the rest of the code uncluttered. Middleware can later invoke the thunk to actually execute that function.