让我们说一个应用围绕两个关键实体:
一个小组可以包含许多个人。个人可以属于许多组。清晰的多对多关系。
对于React应用,建议normalise the state shape。因此,在该状态下,两个实体彼此分开生活。另一方面,UI会显示组列表及其相应的个人,反之亦然。这需要非规范化的表示形式,其中每个实体都包含另一种类型的列表。
设计此应用程序的(TypeScript / Flow)类型的最明智的方法是什么?我至少可以想到三个选择:
Group
获取一个可选的individuals?: Individual[]
字段,该字段根据使用该类型的上下文进行设置Group
(规范化,在状态存储中使用)和GroupUI
(非规范化,从Group
和Individual[]
构建,在UI中使用)处理此问题的推荐方法是什么?优点/缺点?