何时在组件树中最好的位置异步加载数据并显示一个占位符?我最初的想法将是最深层次的内容,但这可能不是最佳实践。
请考虑以下组件树:
- Hero Grid View // Shows a 4x4 grid of Hero Detail Components
- Hero Detail // Shows an avatar image along with the name of the hero
- Avatar Image // Component to hold a generic avatar image
- Villain Grid View // Shows a 6xN grid of Villain Detail Components
- Villain Detail // Shows an avatar image along with the name and health of the villain
- Avatar Image // Component to hold a generic avatar image
目标是显示小人/英雄详细信息组件的占位符图像和占位符文本。我发现这很困难,因为它们共享相同的Avatar Image
但细节不同(英雄使用name
,反派使用name and health
)。
如果我们在Hero Grid View
处写入占位符代码,则必须将其几乎复制到Villain Grid View
中。如果我们在Hero Detail View
级别编写它,则是相同的。但是,如果我们在Avatar Image
组件级别编写占位符代码,则必须为每个使用的Avatar Image
提供一个异步的图像数据源。此外,我们仍然必须在villain
/ hero
详细信息级别上创建一个占位符文本字段。像这样处理占位符数据的最佳实践是什么?