Ich erstelle gerade eine kleine React App für eine Einkaufsliste. Ich versuche, die Listenelemente als Status zu halten. Sobald die Eingabe gesendet wurde, wird zum Hinzufügen eines neuen Elements eine Funktion aufgerufen, die die neue Liste an die App sendet und außerdem versucht, den Status auf '' zurückzusetzen. Aus irgendeinem Grund funktioniert das nicht. Ich habe die Protokollierung überprüft und kann auch daran erkennen, dass meine Eingabe nicht zurückgesetzt wird. Hierthis.setState setzt meinen Status überhaupt nicht?
ist der Code:
class List extends React.Component {
state = {newItem: ''};
addItem = event => {
event.preventDefault();
this.props.onSubmit(this.state.newItem);
this.setState({newItem: ''});
}
render() {
return (
<div>
{this.props.currentUser.shoppingList.map(item =>
<ListItem
{...item}
updatedList={this.props.updatedList}
/>)}
<form onSubmit={this.addItem}>
<input type="text" placeholder="Add new item!"
value={this.state.newItem}
onChange={event => this.setState({newItem: event.target.value})}
/>
<button>Save</button>
</form>
</div>
);
}
}
bind 'this' auf Ihre Methode:'
@JosanIracheta wenn Sie addItem als Pfeil Funktion wie in dem Beispiel definieren, die Sie nicht müssen Sie es an diese binden – Harald