javascript - mapDispatchToProps 和 {action} 有什么区别
问题描述
所以我一直想知道有什么区别
connect(mapStateToProps, mapDispatchToProps)(ComponentName)
和
connect(mapStateToProps, {action})(ComponentName)
我一直在使用第二个版本,但我不知道这是否是一个好习惯。任何反馈都会很有用,因为我真的想知道是否有任何区别,如果没有,为什么每个人都使用 mapDispatchToProps() 而不是仅仅导出像 {action} 这样的动作?我猜如果你有很多动作,你会使用 mapDispatchToProps 但如果你只有 3-4 个,为什么不像 {action} 那样在连接中导出它们?
解决方案
这不是一个坏习惯。它实际上是在react-redux
文档本身中推荐的。
因为这很常见,所以
connect()
支持mapDispatchToProps
参数的“对象速记”形式:如果你传递一个充满动作创建者的对象而不是一个函数,connect 将bindActionCreators
在内部自动调用你。
我们建议始终使用 的“对象速记”形式
mapDispatchToProps
,除非您有特定的原因来自定义调度行为。
您可以在文档的此页面中找到所有相关信息
我希望这能消除你的疑问。
推荐阅读
- javascript - JS检查对象中是否存在对象并将值添加到格式化对象
- rust - 嵌套结构时,future.boxed() 的使用失败并出现生命周期错误
- python - 在 Numpy 数组中提取高于某个阈值的连续值
- julia - 在 JuliaPro 中,我如何获得已注册的包?
- c# - 在c#的电报中删除加入和留言
- javascript - 不使用标准 DOM 元素选择方法在 DOM 中查找对象
- gridsome - 使用源文件系统插件时是否可以在 gridsome 中使用嵌套文件夹?
- flutter - Flutter Getx - 未找到“Xxx”。您需要调用“Get.put(Xxx())” - 但我已调用 Get.put(Xxx())
- python - 如何从 pmdarima.auto_arima 中提取估计(无预测)值
- java - 使用 spring boot 使用 api