Зачем нам нужен mapDispatchToProps, если у нас уже есть диспетчерская служба? - PullRequest
0 голосов
/ 04 июля 2018

Я не понимаю, почему все по-другому. Позвольте мне показать пример, что я имею в виду:

//actions.js
export const doSthOnClick = () => {
  return {
    type: 'ACTION'
  }
}

//example.js
import {doSthOnClick} from './actions';

//...

//handle click first option
handleClick = () => {
  this.props.doSthOnClick() //from mapDispatchToProps
}

//handle click second option
handleClick = () => {
  this.props.dispatch(doSthOnClick()) //the imported
}

//...

<div onClick={handleClick}></div>

//...

const mapDispatchToProps = (dispatch) => {
  doSthOnClick: () => dispatch(doSthOnClick)
}

//connect

Я знаю, что если мы будем использовать mapDispatchToProps, компонент получит диспетчеризацию как свойство, но есть ли какое-то важное отличие?

1 Ответ

0 голосов
/ 04 июля 2018

С mapDispatchToProps вы можете напрямую использовать сопоставленные реквизиты в компоненте. (т. е. вам не нужно реализовывать handleClick в качестве оболочки doSthOnClick явно.)

Кроме того, если презентаторы и контейнеры хорошо отделены друг от друга, контейнеры в основном используются только для отправки действий, что приводит к более чистому коду. В конечном итоге вам может не понадобиться иметь дело с props.dispatch.

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