For reference, this is the origin of the below screenshots: https://github.com/gopinav/React-Redux-Tutorials/blob/master/redux-demo/asyncActions.js
Looking at the
fetchUsers action creator function in the below screenshot, how is
dispatch passed into this function? Not clear how the
fetchUsers function has access to dispatch and can pass it into the anonymous return function within
store creation in the 2nd screenshot is where the
thunkMiddleware is applied and the
fetchUsers is dispatched.
@JLRishe answered this correctly in a comment.
fetchUsers is a function that returns an anonymous function. The anonymous function takes the
dispatch function as an argument. When you call
store.dispatch(fetchUsers()), note that you’re passing the return value of
store.dispatch. Redux then calls this anonymous function, passing it the
dispatch method as an argument. The anonymous function is then invoked and can use the passed in
dispatch function to dispatch additional actions.