Redux docs for bindActionCreators states that:
The only use case for
bindActionCreatorsis when you want to pass some action cre
I don't think that the most popular answer, actually addresses the question.
All of the examples below essentially do the same thing and follow the no "pre-binding" concept.
// option 1
const mapDispatchToProps = (dispatch) => ({
action: () => dispatch(action())
})
// option 2
const mapDispatchToProps = (dispatch) => ({
action: bindActionCreators(action, dispatch)
})
// option 3
const mapDispatchToProps = {
action: action
}
Option #3 is just a shorthand for option #1 , so the real question why one would use option #1 vs option #2. I've seen both of them used in react-redux codebase, and I find it is rather confusing.
I think the confusion comes from the fact that all of the examples in react-redux doc uses bindActionCreators while the doc for bindActionCreators (as quoted in the question itself) says to not use it with react-redux.
I guess the answer is consistency in the codebase, but I personally prefer explicitly wrapping actions in dispatch whenever needed.