我一直在使用@connect
注释一段时间,并决定切换到mapStateToProps
和mapDispatchToProps
。
我可以mapStateToProps
将商店与道具的道具很好地映射,但是当我可以在任何地方拨打mapDispatchToProps
时,我想知道this.props.dispatch( xxx )
的重点是什么。
我也看到了一些反应回购,他们也没有使用mapDispatchToProps
很抱歉,这听起来像是一个初学者问题。
答案 0 :(得分:13)
是的,您当然可以直接在组件中使用props.dispatch()
。但是,该组件现在“知道”是Redux应用程序的一部分,因为它明确地试图“分派”事物。
另一方面,如果您始终使用动作创建器功能,那么现在该组件只是调用this.props.doSomeThing()
之类的东西。它实际上并不“知道”它是在Redux应用程序中,并且因此更可重用。
我刚刚在When would bindActionCreators be used in react/redux?回答了一个类似的问题,并在Idiomatic Redux: Why use action creators?写了一篇关于该主题的博文。