Передача нескольких действий bindActionCreators - PullRequest
1 голос
/ 07 мая 2019

Не могу найти конкретного ответа на этот вопрос.

Если у меня есть подключенный компонент, и я хочу передать несколько действий от разных редукторов:

import { actions as commonActions } from 'some/action/file';
import { actions as userActions } from 'another/action/file';

Могу ли я использовать bindActionCreators как в моем mapDispatchToProps вызове ...?

const mapDispatchToProps = dispatch => ({
  actions: bindActionCreators((commonActions, userActions), dispatch)
});

или я должен передать их как

actions: bindActionCreators({ ...commonActions, ...userActions }, dispatch);

Они передаются вкак и во всем приложении, над которым я работаю, но я прохожу процесс очистки и обновления приложения и стараюсь свести к минимуму все, что могу.Являются ли первые приемлемыми, или они должны быть переданы в качестве деструктурированных объектов?

Спасибо!

1 Ответ

1 голос
/ 07 мая 2019

Вы хотели бы использовать Object.assign:

return {
     actions: bindActionCreators(Object.assign({}, commonActions, userActions), dispatch) 
};

Вы можете вызывать действия непосредственно в хранилище, чтобы можно было удалить bindActionCreators: this.props.store.dispatch(sendMessage())

В этой статье Марка Эриксона более подробно рассматриваются альтернативы bindActionCreators, так как он советует не использовать ее.

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