Reactjs React-Redux:找不到mapDispatchToProps方法
我的印象是,添加到mapDispatchToProps的方法应该可以通过this.props访问。当我调用这些方法时,会引发“uncaughttypeerror:this.props.onHighlight不是函数”。 有人知道发生了什么吗?一直在尝试mapDispatchToProps的一系列不同的替代方案,但都不起作用Reactjs React-Redux:找不到mapDispatchToProps方法,reactjs,redux,Reactjs,Redux,我的印象是,添加到mapDispatchToProps的方法应该可以通过this.props访问。当我调用这些方法时,会引发“uncaughttypeerror:this.props.onHighlight不是函数”。 有人知道发生了什么吗?一直在尝试mapDispatchToProps的一系列不同的替代方案,但都不起作用 import React from 'react'; import { addHighlight, deleteHighlight, selectHighlig
import React from 'react';
import { addHighlight, deleteHighlight, selectHighlight } from 'actions/highlight';
import { connect } from 'react-redux';
import jquery from 'jquery';
import { styles } from './styles.scss';
const mapDispatchToProps = dispatch => {
return {
onHighlight: (start, end, selectedText) => {
dispatch(addHighlight(start, end, selectedText));
},
onDeleteHighlight: (source) => {
dispatch(deleteHighlight(source));
},
onSelectHighlight: (source) => {
dispatch(selectHighlight(source));
}
};
}
const mapStateToProps = state => {
return { highlights: state.highlights,
currentTopic: state.currentTopic,
selectedHighlight: state.selectedHighlight,};
}
...
Other code about Highlight object
...
export default connect(
mapStateToProps,
mapDispatchToProps
)(Highlight);
尝试使用:
需要检查两件事:1-确保您使用的是组件的连接版本,而不是意外使用的未连接版本。2-确保
此
实际上是您的组件实例。确保未使用this
解除绑定调用事件处理程序。很难说得更多,除非你发布了你的一些组件,以及你如何尝试调用onHighlight
import { bindActionCreators } from 'redux'
const mapDispatchToProps = dispatch => {
return bindActionCreators({
onHighlight: addHighlight,
onDeleteHighlight: deleteHighlight,
onSelectHighlight: selectHighlight
}, dispatch);
}