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。
我正在使用 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。