Mir ist bewusst, dass es ähnliche Threads gibt, die das Problem mit dem Geltungsbereich diskutieren.React - Eigenschaft 'setState' von null kann nicht gelesen werden
Unter Verwendung der folgenden Komponente
import React from 'react';
import ReactDOM from 'react-dom';
class Example extends React.Component {
constructor(props) {
super(props);
this.state = {
counter: 0
}
}
addMore() {
this.setState({
counter: this.state.counter + 1
});
}
render() {
return (
<div onClick={ this.addMore }>
<p>counter: { this.state.counter }</p>
</div>
);
}
}
if (document.getElementById('example')) {
ReactDOM.render(<Example />, document.getElementById('example'));
}
Wenn Sie auf die Schaltfläche div
Sie erhalten Cannot read property 'setState' of null
Ich bin mir bewusst, Sie Dinge wie this.addMore.bind(this)
tun können, aber all dies scheint seltsam zusätzliche Text Stil Code nur zu machen, Arbeit.
Was ist der eleganteste Weg, dies zu tun? Wie sicherlich müssen die Menschen einen bevorzugten Weg haben, die ihre Vorteile haben, außer ein Auge wund sein?
Die Klasse Eigenschaften Vorschlag, die wahrscheinlich zu erreichen eleganteste Lösung, wie hier gezeigt: http://stackoverflow.com/a/34050078/218196. –
http://blog.andrewray.me/react-es6-autobinding-and-createclass/ –