Ich habe eine React App, wo Requisiten von einer Elternkomponente an eine Kindkomponente übergeben werden und die Requisiten dann den Status auf dem Kind setzen.Aktualisiere Zustand mit Requisiten auf Reag Kindkomponente
Nachdem ich einen aktualisierten Wert an die übergeordnete Komponente gesendet habe, aktualisiert die untergeordnete Komponente den Status mit den aktualisierten Requisiten nicht.
Wie kann ich den Status der untergeordneten Komponente aktualisieren?
Mein abgespeckte Code:
class Parent extends React.Component {
constructor (props) {
super(props);
this.state = {name: ''}
}
componentDidMount() {
this.setState({name: this.props.data.name});
}
handleUpdate (updatedName) {
this.setState({name: updatedName});
}
render() {
return <Child name={this.state.name} onUpdate={this.handleUpdate.bind(this)} />
}
}
class Child extends React.Component {
constructor (props) {
super(props);
this.state = {name: ''}
}
componentDidMount() {
this.setState({name: this.props.name});
}
handleChange (e) {
this.setState({[e.target.name]: e.target.value});
}
handleUpdate() {
// ajax call that updates database with updated name and then on success calls onUpdate(updatedName)
}
render() {
console.log(this.props.name); // after update, this logs the updated name
console.log(this.state.name); // after update, this logs the initial name until I refresh the brower
return <div>
{this.state.name}
<input type="text" name="name" value={this.state.name} onChange={this.handleChange} />
<input type="button" value="Update Name" onClick={this.handleUpdate.bind(this)} />
</div>
}
}
Sie wissen, die Zeiten, die Sie nur sagen wollen "Ich liebe dich" zu einem zufälligen SO Poster, nun, das ist einer dieser Zeiten. Danke nette Person. – markau
War den ganzen Tag auf der Suche! Versuche, den Status für das Kind zu aktualisieren, und dies hat es getan – William