Зачем использовать bindActionCreator вместо передачи объекта - PullRequest
0 голосов
/ 09 мая 2018
function mapStateToProps(state) {
 return { todos: state.todos }
}

function mapDispatchToProps(dispatch) {
 return { actions: bindActionCreators(actionCreators, dispatch) }
}

export default connect(mapStateToProps, mapDispatchToProps)(TodoApp)

Зачем мне использовать mapDispatchToProps и bindActionCreators в качестве второго проп, если

export default connect(mapStateToProps, { getSthAction })(TodoApp)

так же это работает? есть ли разница?

1 Ответ

0 голосов
/ 09 мая 2018

Единственное отличие в этих примерах состоит в том, что ваша функция mapDispatch будет давать this.props.actions.someAction(), а не this.props.someAction(), поскольку вы явно возвращаете результат bindActionCreators в виде поля с именем actions.

Я лично рекомендую всегда , используя версию "сокращенной записи объекта" - для меня есть никогда веская причина написать отдельную функцию mapDispatch.

...