Dart:NoSuchMethodError - 在 null 上找不到方法 "h"

Dart: NoSuchMethodError - method not found "h" on null

我正在使用 Flutter Web,当访问 FutureBuilder 时,我得到了 NoSuchMethodError - 方法在 null 上找不到“h” 检查页面时,我看到以下错误:

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. (VM5 main.dart.js:39703:14)
    at aVB. (VM5 main.dart.js:39697:21)
    at a8Y.nJ (VM5 main.dart.js:40765:32)
    at aN8.[=11=] (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(),);}

您必须在 FutureBuilder 的构建器方法中添加 snapshot.hasData、snapshot.hasError 等检查。因为一开始快照在 FutureBuilder 上总是为 null 并且在 future 执行后它将在快照中 return 值。 检查此页面,这里有一个可运行的示例 FutureBuilder

我有 .

如果有人正在寻找立即修复,对我有用的是强制使用 1.0.2 依赖项而不是 1.0.4:

dependencies:
    algolia: '1.0.2'

这是一个open issue