![](/img/trans.png)
[英]Child component of a connected component using redux connect doesn't re-render after one prop change
[英]Redux connect passes an unnecessary prop "dispatch" to a connected component
我正在使用 redux connect 将商店连接到 Image 组件。 我只希望在那里(在 Image 组件中)从 Redux 中检索一个道具:“images”。 但我也得到了一个额外的道具:“调度”。
import { connect } from "react-redux";
import Image from "./Image";
import { imagesSelector } from "units/images/selectors";
const mapStateToProps: MapStateToPropsParam = (state) => ({
images: imagesSelector(state),
});
export default connect(mapStateToProps)(Image);
在 Image 组件中,我得到: { images: [...], dispatch: function(){...}}
问题:如何从传递给我的组件中排除调度?
来自 react-redux 文档:
如果你没有为
connect()
指定第二个参数,你的组件将默认接收dispatch
作为 prop。
如果您不想要这种行为,您可以改为将第二个参数传递给connect
函数,这将是mapDispatchToProps
参数。
它可以是一个函数,也可以是一个对象。
我们建议始终使用 mapDispatchToProps 的“对象简写”形式,除非您有特定的理由来自定义调度行为。
注意:
- mapDispatchToProps 对象的每个字段都被假定为一个动作创建者
- 您的组件将不再作为道具接收调度
文档: https : //react-redux.js.org/using-react-redux/connect-mapdispatch
export default connect(mapStateToProps, null)(Image);
添加 null 作为第二个参数,你就可以开始了
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.