Объединение в цепочку избыточных соединений mapStateToProps для доступа к реквизитам внутри mapDispatchToProps - PullRequest
0 голосов
/ 16 мая 2019

Чтобы получить доступ к props компонента внутри mapDispatchToProps, я подключил мое соединение вот так

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

И тогда мне удается получить доступ к реквизитам внутри mapDispatchToProps, вот так

const mapDispatchToProps = (dispatch,ownProps) => {

    const myProp = ownProps.theProp

}

Разве это плохо? Любая альтернатива существует?

Ответы [ 2 ]

2 голосов
/ 16 мая 2019

Разве это плохо?

ИМО, это, конечно, плохо.connect() это HOC.connect(...)(connect(...)(MyComponent)) является избыточным.

Есть ли альтернатива?

Вместо этого используйте mergeProps или правильно разбейте компоненты и используйте redux-saga для использования общей точки взаимодействия (магазин редуксов).

0 голосов
/ 16 мая 2019

Правильный способ подключения mapDispatch к props и mapStateToProps выглядит следующим образом:

export default connect(mapStateToProps, mapDispatchToProps)(MetaDataTaggingApp);

Также я не думаю, что вам нужен доступ к props в mapDispatchToProps.mapDispatchToProps в основном просто сообщает вашему компоненту, какие действия по отправке ему разрешено использовать.

const mapDispatchToProps = {
  aReduxAction,
  anotherReduxAction
}

Если вам нужно передать реквизиты в эти рассылки, это должно произойти, когда вы их вызываете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...