当我们可以使用this.props.dispatch来调度动作时,mapDispatchToProps的用途是什么

时间:2017-01-21 15:36:39

标签: reactjs redux

我一直在使用@connect注释一段时间,并决定切换到mapStateToPropsmapDispatchToProps

我可以mapStateToProps将商店与道具的道具很好地映射,但是当我可以在任何地方拨打mapDispatchToProps时,我想知道this.props.dispatch( xxx )的重点是什么。

我也看到了一些反应回购,他们也没有使用mapDispatchToProps

很抱歉,这听起来像是一个初学者问题。

1 个答案:

答案 0 :(得分:13)

是的,您当然可以直接在组件中使用props.dispatch()。但是,该组件现在“知道”是Redux应用程序的一部分,因为它明确地试图“分派”事物。

另一方面,如果您始终使用动作创建器功能,那么现在该组件只是调用this.props.doSomeThing()之类的东西。它实际上并不“知道”它是在Redux应用程序中,并且因此更可重用。

我刚刚在When would bindActionCreators be used in react/redux?回答了一个类似的问题,并在Idiomatic Redux: Why use action creators?写了一篇关于该主题的博文。