Всем привет! Сегодня рассмотрим решение, довольно-таки популярной проблемы — получение доступа к state из функции mapDispatchToProps() react-redux приложения.
Имеется типовой компонент-контейнер (про идеологию компонентов react-redux можно почитать здесь), который генерирую с помощью функции connect(). Код представлен ниже (публикую кусок кода, относящийся к данной теме):
const mapStateToProps = (state) => {
return state.play;
};
const mapDispatchToProps = (dispatch) => {
return {
togglePlay: () => {
dispatch(togglePlay());
}
}
};
const ButtonPlayComponentContainer = connect(
mapStateToProps,
mapDispatchToProps
)(ButtonPlayComponentView);
Тут все просто, определяем функции mapStateToProps() для чтения состояния и mapDispatchToProps() для передачи события. Далее генерируем компонент путем передачи созданных функций в connect().