为了访问props
内部组件的mapDispatchToProps
,我像这样将我的连接链接了
export default connect(mapStateToProps, null)(connect(mapStateToProps, mapDispatchToProps)(MyComponent));
然后我设法像这样访问mapDispatchToProps内部的道具
const mapDispatchToProps = (dispatch,ownProps) => {
const myProp = ownProps.theProp
}
要做一件坏事吗? 有其他选择吗?
答案 0 :(得分:2)
这是一件坏事吗?
IMO,这肯定是不好的。 connect()
是一个HOC。 connect(...)(connect(...)(MyComponent))
是多余的。
是否存在其他选择?
改为使用mergeProps
或正确破坏组件,然后使用redux-saga
使用公共交互点(redux存储)。
答案 1 :(得分:0)
将mapDispatch连接到props和mapStateToProps的正确方法如下:
export default connect(mapStateToProps, mapDispatchToProps)(MetaDataTaggingApp);
我也不认为您应该在mapDispatchToProps中访问道具。 mapDispatchToProps基本上只是告诉您的组件允许使用哪些调度动作。
const mapDispatchToProps = {
aReduxAction,
anotherReduxAction
}
如果您需要将道具传递给这些调度,则应该在调用它们时进行。