Ich versuche, den Status einer Komponente aus einer anderen Komponente zu ändern, und mein Status wird nicht aktualisiert, ich sende die Requisite ich möchte in meiner App-Komponente, aber dies zu aktualisieren. setState nicht funktioniertthis.setState in React funktioniert nicht
import React, {Component} from 'react';
import ReactDOM from 'react-dom';
import Header from './components/Header';
class App extends Component{
constructor(){
super();
this.state = {
homeLink: "Home"
}
}
onChangeLink(newLink){
this.setState({
homeLink: newLink
});
}
render(){
var user = {
name: "sadf"
}
return(
<div className="container">
<div className="row">
<Header changeLink={this.onChangeLink.bind(this)}/>
</div>
</div>
);
}
}
ReactDOM.render(
<App />,document.getElementById('app')
Und hier ist meine Header-Komponente
import React, {Component} from 'react';
class Header extends Component{
constructor(){
super();
this.state = {
homeLink: 'New Link'
}
}
onChangeLink(){
this.props.changeLink(this.state.homeLink);
}
render(){
return(
<nav className="navbar navbar-default">
<button onClick={this.onChangeLink.bind(this)}>Change Link</button>
</nav>
)
}
}
Exportstandardkopf
Alles funktioniert gut für mich. Der Status wird aktualisiert. –
Ich stimme @RITESHBANSAL. Siehe diese Geige: https://jsfiddle.net/3aa6jmd4/2/ – thomas
Wie @RITESHBANSAL sagte, gibt es nichts falsch im aktuellen Code, wo versuchen Sie, auf den aktualisierten Statuswert zuzugreifen. –