Этот ответ может помочь вам:
Что такое mapDispatchToProps?
mapDispatchToProps существует для того, чтобы сделать редукторы доступными через компонент при следовании шаблону «Контейнер> Компонент».
Например, у меня есть эти редукторы:
const updateToPreviousMonth = (state) => {
let newState = state,
currentMonth = newState.get('currentMonth');
let previousMonth = sanitizedDate(moment(currentMonth).subtract(1, 'month'));
return newState.set('currentMonth', previousMonth);
};
const updateSelectedDate = (state, action) => {
return state.set('selectedDate', action.selectedDate);
};
export default (state = initialState, action = {}) => {
switch (action.type) {
case constants.SET_TO_PREVIOUS_MONTH:
return updateToPreviousMonth(state);
case constants.UPDATE_SELECTED_DATE:
return updateSelectedDate(state, action);
default:
return state;
}
};
Константами являются Действия и функции (редукторы), которые возвращают измененное состояние.
const mapDispatchToProps = {
setToPreviousMonth: CalendarViewRedux.actions.setToPreviousMonth,
updateSelectedDate: CalendarViewRedux.actions.updateSelectedDate
};
export class CalendarView extends PureComponent {
componentDidMount() {
this.props.loadSchedules();
}
render() {
return (<CalendarViewRender
{...this.props} />);
}
}
export default connect(mapStateToProps, mapDispatchToProps)(CalendarView);
В этом примере я передаю действия в mapDispatchToProps, и при вызове они активируют редукторы ранее, поскольку я использовал mapDispatchToProps, теперь они доступны в компоненте CalendarView.
Надеюсь, это поможет, пометьте как решенное, если это было полезно.