块、嵌套模型和具有多个块的状态。数据不一致

问题描述 投票:0回答:1

在 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 来代替吗?基本上把一切都压平了?

我应该使用监听器来同步它们吗?

我能做什么?

flutter bloc
1个回答
0
投票

第一个解决方案:使所有登录都集中在一个块中。性能取决于您的块包含多少数据。

第二个解决方案:注意您在项目中使用的所有三个块的位置,从该屏幕根据要求提供所有块。

第三个:通过 multiblocprovider 提供 Material 应用程序中的所有块。

© www.soinside.com 2019 - 2024. All rights reserved.