通常我们有两种小部件来表示任何类型的实体 - 一种是显示实体列表的小部件(它使用从 API 接收的信息较少),第二种是显示实体详细信息的小部件(它使用收到的更多信息)来自 API)。 列表小部件通常使用生成 StreamBuilder
的 ListView
。点按所需的 ListTile
用户将导航到详细信息小部件。
问题是在listing widget 或detail widget 中在哪里请求实体详细信息(即请求 API /entities/:id)? IE。有两种方法可以声明细节部件类构造函数:
class EntityDetail extends ... {
EntityDetail(this.entity);
final Entity entity;
}
或
class EntityDetail extends ... {
EntityDetail(this.entityId);
final int entityId;
}
当我研究 Navigator 2.0(尤其是在 Web 中)时,当深度链接是可能的时提出了这个问题。