Я пытаюсь применить mapDispatchToProps вместо действия Dispatch, но я получил сообщение об ошибке, кто-нибудь поможет? Табкью
mapDispatchToProps () в Connect (ButtonGroup) должен возвращать простой объект. Вместо этого получил undefined.
Создатель действий
function clickDisable() {
return {
type: 'CLICK_DISABLE'
}
}
Компонент
var ButtonGroup = React.createClass({
clickAdd(event) {
this.props.dispatch(clickAdd());
} ,
clickSub(event) {
this.props.dispatch(clickSub());
} ,
/*clickDisable(event) {
this.props.dispatch(clickDisable());
} ,*/
render() {
const { age } = this.props;
return (
<ButtonToolbar style = {{width: 17+ 'em'}} >
<Button id = "search" style = {{width: 5 + 'em'}}>{age}</Button>
<Button onClick = {this.clickAdd} style = {{width: 5 + 'em'}}>Createa</Button>
<Button onClick = {this.props.clickDisable} style = {{width: 5 + 'em'}}>Detele</Button>
</ButtonToolbar>
);
}
});
mapDispatchToProps
function mapDispatchToProps (dispatch) {
return Redux.bindActionCreators({
clickDisable: clickDisable
}, dispatch);
}
function mapStateToProps(state) {
return {
age: state.reducreForAge.age
}
}
Соединять
const NewButtonGroup = connect(mapStateToProps,mapDispatchToProps)(ButtonGroup);
с первого взгляда выглядит хорошо. Не могли бы вы сделать из своего кода рабочий код и ящик?





Используйте это в mapDispatchToProps. Все остальное выглядит нормально.
const mapDispatchToProps = dispatch => { return{
clickDisable: () => dispatch({type:'CLICK_DISABLE'})};};
Ваш ответ должен давать точное поведение как код OP.
Какая строка вызывает ошибку? Все в коде, который вы здесь показываете, выглядит нормально.