![](/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.