2

我将 hydrad_bloc 从 6.1.0 更新到最新的 7.0.1,并在以下位置收到警告:

HydratedBloc.storage = await HydratedStorage.build(); The parameter 'storageDirectory' is required.

当我更改为新文档建议的内容时

HydratedBloc.storage = await HydratedStorage.build(
storageDirectory: await getTemporaryDirectory(),); The function 'getTemporaryDirectory' isn't defined.

我也试过:

HydratedBloc.storage = await HydratedStorage.build(storageDirectory: await getApplicationDocumentsDirectory(),); The function 'getApplicationDocumentsDirectory' isn't defined
4

2 回答 2

4

两者getTemporaryDirectorygetApplicationDocumentsDirectory都是path_provider包的一部分,所以,你必须在你的 main.dart 文件中导入它

于 2021-08-24T17:15:22.473 回答
0

是的,您需要路径Provider Flutter 包,您可能还会遇到此错误“StorageNotFound(存储在初始化之前被访问),或者在 Android Studio 中没有为类型 'HydratedBloc' 定义 setter 'storage' StorageNotFound(存储在初始化之前被访问过 而是将其定义如下:`

 void main() async {
  WidgetsFlutterBinding.ensureInitialized();

  final storage = await HydratedStorage.build(
    storageDirectory: await getApplicationDocumentsDirectory(),
  );
  HydratedBlocOverrides.runZoned(
    () => runApp(MyApp(
      appRouter: AppRouter(),
      connectivity: Connectivity(),
    )),
    storage: storage,
  );
}

` 你可以在这里得到完整的代码

于 2021-12-27T15:51:43.457 回答