FlutterBLoC结构

f45qwnt8  于 2023-04-22  发布在  Flutter
关注(0)|答案(2)|浏览(95)

我有一个这样的嵌套数据结构:

User
|-List<WorkoutPlan>
    |-List<Workout>
      |-List<Exercise>

每个列表保存在不同的json文件中:

-user.json with the list workout plans’ ids
-workoutPlans.json: Each workout plan has a list of workouts’ id
-workouts.json

对于每个数据结构,我有一个不同的块:

-UserBloc to manage user info
-WorkoutPlanBloc to manage workoutPlans
-WorkoutBloc to manage workouts

所以我做了一个简单的应用

  • 用户信息页面
  • 包含锻炼计划列表的页面
  • 包含所选计划的训练列表的页面。

问题是,在每个页面中,我应该有其他页面的信息。例如:在用户页面上,我需要显示上次使用的锻炼,所以我应该加载有关锻炼的信息。
我的数据结构有什么问题吗?

t5fffqht

t5fffqht1#

如果您需要显示关于另一个模型的信息,您需要在当前区块中加载它。您不需要将区块限制为只有一个模型,您可以加载您想要构建页面的模型数量。
当然,如果模型有500个属性,但您只需要其中的几个,那么只获取所需的属性,以避免用不必要的数据填充内存。

raogr8fs

raogr8fs2#

我会说你的设置没有什么问题。你有小块,这很好,更容易测试。如果你是页面上的一个,你需要另一个块的信息,它的访问,假设你的BlocProviders是进一步向上的部件树。
如果您需要响应来自另一个Bloc的状态更改,可以使用BlocListener。

相关问题