Ich versuche, eine einfache React-Komponente zu schreiben, die die Anzahl der in ein Textfeld eingegebenen Zeichen zählt. Die Komponente wird zwar gerendert, aber wenn ich versuche, auf this.state zu verweisen, bricht die Komponente ab und der Bildschirm ist leer.Meine React-Komponente bricht ab, wenn ich this.state verwende
Hier ist der Code:
HTML:
<div id="content">
</div>
CSS:
#content {
width: 800px;
margin-left: auto;
margin-right: auto;
}
body {
background-color: #F1FAEE; ;
}
h1 {
font-family: Avenir;
color: black;
font-size: 44px;
}
JavaScript:
class Box extends React.Component {
getInitialState() {
return {
text: this.props.text
}
}
handleChange(event) {
this.setState({
text: event.target.value
})
}
render() {
return (
<div>
<h1>This App Counts Letters</h1>
<textarea value = {this.props.text} onChange = {this.handleChange}> </textarea>
<h1>{this.state.text.length}</h1>
</div>
);
}
};
ReactDOM.render(<Box text = "I find this frustrating"/>,document.getElementById("content"))
Das Problem ist mit {this.state.text. Länge} Dinge machen, wenn diese Zeile {this.props.text.length} geändert wird
Haben Sie versucht zu debuggen? anscheinend ist 'this.state.text' entweder nicht definiert oder hat keine 'length'-Eigenschaft. Auch ist unklar, was "Pausen" bedeutet. Wenn Sie die Browserkonsole öffnen, können Sie den Fehler normalerweise sehen, so dass Sie vermeiden können, diese Art von Fragen zu posten. – akonsu