在 flutter 中创建锻炼应用程序。
模型看起来像这样,
class Workout extends Equatable {
String name;
final String description;
final String type;
final int? id;
List<Exercise> exercises;
}
class Exercise extends Equatable {
String name;
final String description;
final int? id;
List<Set> sets;
}
class Set extends Equatable {
String name;
final int reps;
final int weight;
final int? id;
}
事情是这样的,我有 WorkoutBloc、ExerciseBloc、SetBloc。然后我给他们相应的模型。 (例如,锻炼块持有一个“锻炼”对象)
问题是,现在通过 SetBloc 完成一组时。其他区块中的数据现已过期。
我该怎么办?
我是否使用单个块,这会导致巨大的混乱,并且可能会导致性能更差。
我应该完全删除嵌套结构并依赖 ID 来代替吗?基本上把一切都压平了?
我应该使用监听器来同步它们吗?
我能做什么?
第一个解决方案:使所有登录都集中在一个块中。性能取决于您的块包含多少数据。
第二个解决方案:注意您在项目中使用的所有三个块的位置,从该屏幕根据要求提供所有块。
第三个:通过 multiblocprovider 提供 Material 应用程序中的所有块。