我一直在使用@connect
注释一段时间,并决定切换到mapStateToProps
和mapDispatchToProps
.
我可以mapStateToProps
很好地将商店映射到组件的道具,但想知道什么mapDispatchToProps
时候我可以this.props.dispatch( xxx )
随时随地打电话.
我也看到一些反应回购,他们也没有使用 mapDispatchToProps
https://github.com/Hashnode/mern-starter
https://github.com/andrewngu/sound-redux
对不起,如果它听起来像一个初学者的问题.
是的,您当然可以props.dispatch()
直接在组件中使用.但是,该组件现在"知道"是Redux应用程序的一部分,因为它明确地试图"分派"事物.
另一方面,如果你一直使用动作创建者函数,现在组件只是调用类似的东西this.props.doSomeThing()
.它实际上并不"知道"它是在Redux应用程序中,并且因此更可重用.
我刚回答了一个类似的问题,什么时候bindActionCreators会在react/redux中使用?,并在Idiomatic Redux上写了一篇关于这个主题的更长的博客文章:为什么要使用动作创作者?.