1
在我的React应用程序中,我想呈现一个道具值,但它不存在,直到道具已经更新,发生在渲染完成后。反应:试图渲染道具后填充后渲染
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>
}
}
这工作,但我花了很多黑客攻击和修改代码以达到目标。有没有更好的/更有说服力的方式去解决这个问题?因为我想这是真的很常见的情况!组件生命周期是否进入?
任何帮助/建议表示赞赏。
你做正确。 –
我真的没有看到这个问题。代码很容易读取。我可以告诉你只需要在用户加载后渲染用户,并且从代码中我可以看出用户也不一定会出现在第一个渲染器上。在反应代码库 –
中,这是一件很常见的事情。那么很好知道:)我觉得事先定义列表,然后渲染它可能会更好。但我尝试了这一点,显然它试图在渲染之前将'users'值赋给变量,在那个时候它是'null'。只是想确定这不是不好的做法。谢谢。 – Paulos3000