Ich mache AJAX-Anfrage innerhalb einer React-Funktion, während Verweise auf den Status in der React-Klasse. Ich erhalte jedoch einen TypeError, bei dem die Referenz auf den Status nicht definiert ist, wenn ich die AJAX-Anfrage eintrage. .ReactJS und AJAX Uncaught TypeError: Kann Eigenschaft 'bugs' von Undefined nicht lesen
Hier ist mein Code-Schnipsel, I "m nicht sicher, wie hier verfahren Wo verliere ich Zusammenhang
class BugList extends React.Component {
constructor() {
super();
this.state = {
bugs: [],
};
}
addBug(bug) {
$.ajax({
type: 'POST', url: '/api/bugs', contentType: 'application/json', data:JSON.stringify(bug),
success: function(data) {
var bug = data;
var bugsModified = this.state.bugs.concat(bug);
this.setState({bugs: bugsModified});
}.bind(this),
error: function(xhr, status, err) {
console.log("error adding bug: ", err);
}
});
}
componentDidMount() {
$.ajax('/api/bugs').done(function(data) {
this.setState({bugs: data})
}.bind(this));
}
render() {
return(
<div>
<h1>Bug Tracker</h1>
<BugFilter />
<hr />
<BugTable bugs={this.state.bugs}/>
<hr />
<BugAdd addBug={this.addBug}/>
</div>
);
}
}
Die problematische Zeile in Frage:
var bugsModified = this.state.bugs.concat(bug);
Das Fehlerprotokoll:
Uncaught TypeError: Cannot read property 'bugs' of undefined