Reactjs 重定向后反应状态为空
我对React和使用重定向非常陌生,我正在尝试使用React路由器实现一个简单的两页应用程序。我想知道重定向到组件后如何初始化组件的状态。例如,我有以下视图组件正在从另一个页面重定向到:Reactjs 重定向后反应状态为空,reactjs,react-router,Reactjs,React Router,我对React和使用重定向非常陌生,我正在尝试使用React路由器实现一个简单的两页应用程序。我想知道重定向到组件后如何初始化组件的状态。例如,我有以下视图组件正在从另一个页面重定向到: class View extends Component { constructor(props) { super(props); this.setState({ name: 'NAME' }); } render() { return (
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>
);
}
}
类视图扩展组件{
建造师(道具){
超级(道具);
这是我的国家({
姓名:“姓名”
});
}
render(){
返回(
你好{this.state?this.state.name:'null'}
);
}
}
上述组件在从另一个页面重定向到后呈现
null
。这里可能缺少一些微妙的东西,但如何正确初始化状态?您不应该在构造函数中调用setState()
——组件在其生命周期的这一点上尚未装入。例如,请参见
相反:
构造函数(道具){
超级(道具);
此.state={
姓名:“姓名”
};
}