在我的React应用程序中,我想呈现一个prop值,但是在渲染完成后更新道具之前它不存在。
this.props.users
是一个对象,因此我使用Object.keys()
转换为数组,然后使用键映射子元素以定位它们:
// ...
render() {
return {
<div className='users-list'>
<h4>Users List</h4>
{!isLoaded(users) ? '' :
Object.keys(users).map( (key, i) => <p>{users[key].email}</p> )
}
</div>
}
}
这很有效,但是我花了很多时间来修改代码才能实现。是否有更好/更有说服力的方式来解决这个问题?因为我认为这是非常常见的情况!组件生命周期是否进入它?
任何帮助/建议表示赞赏。
答案 0 :(得分:0)
给它一个默认值?
const users = this.props.users || {};
使用ES6和解构:
const { users = {} } = this.props;