【发布时间】:2021-11-02 23:06:48
【问题描述】:
所以我想在整个应用程序中使用相同的 bloc 实例,所以我在 main() 函数之外创建了一个实例,然后将其导入到其他文件中。
它可以工作,但是因为我需要它来触发initState 方法中的事件,所以当我尝试在那里使用它时得到一个空值,就像它尚未初始化一样。
看起来是这样的
late TreatmentcardBloc treatmentcardBloc;
Future main() async {
treatmentcardBloc = TreatmentcardBloc();
...
}
这是错误
以下 _CastError 被抛出构建 BlocBuilder
(脏, 依赖项:[_InheritedProviderScope],状态: _BlocBuilderBaseState #713fd): 空值检查操作符 相关的导致错误的小部件是:
BlocBuilder
file:///home/bihire/development/flutter/companion-project/mobile/lib/screens/d ashboard/treatments/treatment_screen.dart:179:35
我在哪里出错了,如果可能的话,为什么?
请记住,当我使用新的初始化强制页面重建时,它会起作用。这有点意味着它的 bloc 实例创建迟了。
【问题讨论】:
-
请分享构建方法