4
map.DispatchToProps에 추가 된 메소드는 this.props에서 액세스 할 수 있어야한다는 내 인상입니다. 이러한 메서드를 호출하면 "Uncaught TypeError : this.props.onHighlight가 함수가 아닙니다."라는 메시지가 발생합니다. 아무도 모르는 일이 있습니까? mapDispatchToProps에 대해 여러 대안을 시도했지만 그 중 어느 것도 작동하지 않습니다.React-Redux : mapDispatchToProps 메소드를 찾을 수 없음
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'가 실제로 컴포넌트 인스턴스인지 확인하십시오. 'this' 언 바운드를 사용하여 이벤트 핸들러를 호출하지 않도록하십시오. 당신이 당신의 구성 요소의 일부를 게시하고 어떻게 당신이'onHighlight'를 호출하려고하지 않는 한 더 말하기는 어렵습니다. – Brandon