我在react组件中迭代一个集合。对于此选项卡的每一行,我需要向firebase进行额外的查询:
<Tbody>
{households?.map((household) => (
<Tr key={household.id}>
<Td>{household.name}</Td>
<Td>{household.ownerName}</Td>
<Td>
<ul>
{household.participants.map((participant) => (
<li key={participant.userId}>{participant.userName}</li>
))}
//Here I need to retrieve another collection from firestore, which is different for each household.
</ul>
</Td>
<Td>
</Tr>
))}
</Tbody>
字符串
但我找不到方法。
我试过这个:
{
let invitesRef = collection(
db,
"households",
household.id,
"invites"
);
invitesRef.onSnapshot((invite) => {
<li key={invite}>{invite}</li>
})
return <div></div>;
}
型
但我得到了意想不到的令牌,而且它似乎不喜欢常数,...所以我可能走错了路。
我该如何实现这一点?
1条答案
按热度按时间fnx2tebb1#
你不能在UI呈现的时候调用异步API,然后期望在代码中使用这些结果,据我所知没有UI框架支持这种情况。
在React中,你会想要:
1.在组件第一次呈现时开始加载数据。
1.在数据加载时显示“数据正在加载...”指示符。
1.将数据设置为加载数据时的状态。
1.然后触发UI的重新呈现,您可以在其中使用来自状态的数据。
我建议你阅读: