我正在使用Flutter Web,当访问FutureBuilder时,我会得到NoSuchMethodError-找不到方法"h〃;在null上当检查页面时,我看到以下错误:
core_patch.dart:195 Uncaught TypeError: Cannot read properties of undefined (reading 'h')
at Object.bax (VM5 main.dart.js:25360:16)
at VM5 main.dart.js:45250:25
at aWT.a (VM5 main.dart.js:3607:62)
at aWT.$2 (VM5 main.dart.js:39703:14)
at aVB.$1 (VM5 main.dart.js:39697:21)
at a8Y.nJ (VM5 main.dart.js:40765:32)
at aN8.$0 (VM5 main.dart.js:40122:11)
at Object.Ds (VM5 main.dart.js:3740:40)
at ax.tk (VM5 main.dart.js:40054:3)
at a3F.dm (VM5 main.dart.js:39692:8)
这看起来像是Dart js的一个错误。我已经将我的flutter版本更新到2.10,但之前我也有同样的错误,只是不是";h〃;我得到了";i〃;(NoSuchMethodError-未找到方法"i"(
p.S.我只在生产(发布(构建中遇到这个错误,使用调试构建一切都很好。
代码段
FutureBuilder(
future: AlgoliaService().getEmployees(searchQuery),
builder: (BuildContext context,
AsyncSnapshot<AlgoliaQuerySnapshot> snapshot) {
if (snapshot.hasError) {
return Text("Error: ${snapshot.error}"); // Error happens here
}
if (snapshot.connectionState == ConnectionState.waiting) {
return Center(child: CircularProgressIndicator(),);}
我遇到了同样的问题。
如果有人正在寻找即时修复,对我来说有效的是强制使用1.0.2依赖项,而不是1.0.4:
dependencies:
algolia: '1.0.2'
这是一个悬而未决的问题。
您必须在FutureBuilder的builder方法中添加类似snapshot.hasData、snapshot.has Error的检查。因为一开始,FutureBuilder上的快照将始终为null,而在执行future之后,它将在快照中返回值。查看此页面,这里有一个FutureBuilder 的可运行示例