[英]React Component User Not in State
考虑以下:
componentDidMount(){
this.props.requestUser(this.props.match.params.userID).then(res =>
{
this.pageOwner = res.user;
debugger;
})
}
为什么我的this.pageOwner仍返回未定义? 我一直在尝试让用户进入我的用户个人资料可以访问的状态。
如果您尝试访问this.pageOwner
,则需要在this.props.requestUser()
异步函数完成后进行访问。 当前,您正在componentDidMount()
获取用户,因此您的render()
最初将this.pageOwner
视为undefined
直到异步调用完成。
此外,最好将异步调用的结果存储在state
以便一旦填充该值即可重新渲染组件。
正如@colin所说,将其放在this.state
。 如果您在render()
函数中遇到错误,则只需如下所示进行渲染即可:
constructor() {
super();
this.state = {
pageOwner: null
}
}
componentDidMount() {
this.props.requestUser(this.props.match.params.userID).then(res =>
{
this.setState({pageOwner: res.user});
debugger;
})
}
render() {
if(this.state.pageOwner)
return ( ... )
else
return null;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.