【发布时间】:2017-06-02 01:29:11
【问题描述】:
在我的 React 应用程序中,我想渲染一个 prop 值,但在渲染完成后更新 props 之前它不存在。
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。只是想确定这不是糟糕的做法。谢谢。
标签: javascript object reactjs response render