flutter 为什么将块提供程序放在单独的文件/类中会引发错误?

ogq8wdun  于 2023-01-18  发布在  Flutter
关注(0)|答案(1)|浏览(128)

我有这个代码:

MultiBlocProvider(
  providers: [
    BlocProvider(
      create: (context) => CubitExample(),
    ),
  ],
  child: MaterialApp(
    home: Home(),
  ),
);

它运行良好,我有很多腕尺/块,所以我决定将提供程序列表移动到一个单独的类:
x一个一个一个一个x一个一个二个x
现在抛出常见的块错误:

ProviderNotFoundException (Error: Could not find the correct Provider<ExampleCubit> above this BlocBuilder<ExampleCubit, ExampleState> Widget

我不知道为什么当我尝试第二个代码时会抛出错误,为什么会抛出错误?

rta7y2nd

rta7y2nd1#

这真是很奇怪,为什么这是这样的行为!!,我尝试了所有可能的变通办法。
最后找到了一种方法,通过使用getter来解决这个问题。用getter替换你的function。这应该可以完成工作。

class Providers {
  static get getproviders => [
        ... 👈 all your providers here
        ),
      ];
}

并称之为

MultiBlocProvider(
        providers: Providers.getproviders, 👈 Call it here
        child: MaterialApp.router(
         ...
   ));

相关问题