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