听起来正确吗?
我有一个名为get_user_data( username )
的函数,该函数通过该用户名查找用户并将数据设置到顶级状态内的profile_data
中。
// example of what the state will look like after get_user_data fires
state = {
profile_data: {
username: 'admin'
likes: 10,
followers: 9
}
}
我将函数get_user_data
和profile_data
传递到ProfilePage.js
组件中。
<ProfilePage
get_user_data={ this.get_user_data.bind( this ) }
user_data={ this.state.profile_data }
/>
在ProfilePage.js
内,在不赞成使用的生命周期方法componentWillMount
中,我调用该函数以获取配置文件数据this.props.get_user_data( username )
,该配置文件数据应将user_data
设置为同样然后传递回组件。这样我就可以使用this.props.user_data.[something]
我目前遇到的问题是,由于render
在componentWillMount
之后触发,因此某些值在第一个渲染中断我的代码时为null。我可以通过执行一堆IF语句来解决该问题,以查看该值是否为null / undefined,但我认为这不是正确的方法。
这是实现这样目标的正确方法吗?其他人如何建立个人资料页面?