链接redux连接mapStateToProps,以访问mapDispatchToProps内部的道具

时间:2019-05-15 21:09:29

标签: javascript reactjs redux

为了访问props内部组件的mapDispatchToProps,我像这样将我的连接链接了

export default connect(mapStateToProps, null)(connect(mapStateToProps, mapDispatchToProps)(MyComponent));

然后我设法像这样访问mapDispatchToProps内部的道具

const mapDispatchToProps = (dispatch,ownProps) => {

    const myProp = ownProps.theProp

}

要做一件坏事吗? 有其他选择吗?

2 个答案:

答案 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
}

如果您需要将道具传递给这些调度,则应该在调用它们时进行。