反应组件用户不在状态
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了反应组件用户不在状态相关的知识,希望对你有一定的参考价值。
考虑以下:
componentDidMount(){
this.props.requestUser(this.props.match.params.userID).then(res =>
{
this.pageOwner = res.user;
debugger;
})
}
为什么我的this.pageOwner仍然返回undefined?我一直在努力让用户进入我的用户配置文件可以实际访问的状态。
答案
如果您正在尝试访问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;
}
以上是关于反应组件用户不在状态的主要内容,如果未能解决你的问题,请参考以下文章