我对React和使用重定向非常陌生,我正在尝试使用React-Router实现一个简单的两页应用程序。我想知道重定向到组件后如何初始化组件的状态。例如,我具有以下从另一个页面重定向到的View组件:
class View extends Component {
constructor(props) {
super(props);
this.setState({
name: 'NAME'
});
}
render() {
return (
<div>
<p>Hello {this.state ? this.state.name : 'null'}<p>
</div>
);
}
}
上述组件从另一个页面呈现null
重定向到<Redirect to="/View">
后呈现。我这里可能缺少一些细微的东西,但是如何正确初始化状态?
答案 0 :(得分:0)
您不应在构造函数中调用setState()
-组件在其生命周期中尚未安装。例如,请参见this SO answer。
相反:
constructor(props) {
super(props);
this.state = {
name: 'NAME'
};
}