我想从延迟加载的包中测试函数、小部件等。我正在使用Dart的延迟导入来收缩main.dart.js文件。
import 'package:spitch/app/splashscreen.dart' deferred as splashscreen;
但是因为包等没有准备好,我在我的测试中得到以下错误:“生成时引发了以下_ Deferred未加载错误..."我在dart和flutter文档中没有找到任何关于如何测试延迟加载数据的内容。
nukf8bse1#
确保在呈现小部件之前调用延迟对象中的.loadLibrary();。
.loadLibrary();
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?。如果您指定类型,它将抛出错误。
2条答案
按热度按时间nukf8bse1#
确保在呈现小部件之前调用延迟对象中的
.loadLibrary();
。1qczuiv02#
延迟的库/页面应该异步调用,所以将其 Package 在未来的构建器中,但不要使用任何快照值。
良好示例:
错误示例:
如果您正在使用任何linting,请确保您没有设置任何对象类型,如void、dynamic、widget?。如果您指定类型,它将抛出错误。