4
Ich habe den Eindruck, dass Methoden, die zu mapDispatchToProps hinzugefügt werden, von this.props zugänglich sein sollten. Wenn ich diese Methoden aufrufen, wird "Uncaught TypeError: this.props.onHighlight ist keine Funktion" ausgelöst. Wer weiß was los ist? Ich habe versucht, eine Reihe von verschiedenen Alternativen für mapDispatchToProps, aber keiner von ihnen funktioniert.React-Redux: mapDispatchToProps-Methoden nicht gefunden
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);
zwei Dinge zu überprüfen: 1 - Stellen Sie sicher, dass Sie die angeschlossene Version Ihrer Komponente verwenden statt versehentlich die unverbundene Version. 2 - stellen Sie sicher, dass 'das' tatsächlich Ihre Komponenteninstanz ist. Stellen Sie sicher, dass Sie keinen Event-Handler aufrufen, für den 'this' nicht gebunden ist. Es ist schwer, mehr zu sagen, es sei denn, Sie einige Ihrer Komponente veröffentlichen und wie Sie versuchen, OnHighlight aufzurufen – Brandon