dart 抛出Flutter延迟未加载错误

7xzttuei  于 2022-12-27  发布在  Flutter
关注(0)|答案(2)|浏览(141)

我想从延迟加载的包中测试函数、小部件等。我正在使用Dart的延迟导入来收缩main.dart.js文件。

  • 例如:* import 'package:spitch/app/splashscreen.dart' deferred as splashscreen;

但是因为包等没有准备好,我在我的测试中得到以下错误:“生成时引发了以下_ Deferred未加载错误..."
我在dart和flutter文档中没有找到任何关于如何测试延迟加载数据的内容。

nukf8bse

nukf8bse1#

确保在呈现小部件之前调用延迟对象中的.loadLibrary();

1qczuiv0

1qczuiv02#

延迟的库/页面应该异步调用,所以将其 Package 在未来的构建器中,但不要使用任何快照值。
良好示例:

return FutureBuilder(
    future: home.loadLibrary(),
    builder: (context, snapShot) {
    return home.HomeBasement();
  });

错误示例:

return FutureBuilder<void>(
        future: signIn.loadLibrary(),
        builder: (BuildContext context, AsyncSnapshot<dynamic> snapshot) {
          if (snapshot.hasData) {
            return signIn.SignInPage();
          } else {
            return const Txt(text: 'Loading...');
          }
        });

如果您正在使用任何linting,请确保您没有设置任何对象类型,如void、dynamic、widget?。如果您指定类型,它将抛出错误。

相关问题