在 flutter 应用程序中使用 amplify_api 包时出错,说 属性 无法升级

Error using amplify_api package inside flutter app, says property couldn't be promoted

我看到这条错误消息说明了两件事 -

  1. 参数类型String无法赋值给参数类型'String'
  2. 'data'指的是一个属性所以不能升级

对于第一个错误,我在代码中添加了空检查,但也没有解决问题,对于第二个错误,我不知道该如何处理。

第二个错误本质上是说您不能仅通过添加空检查来修复错误。如您所知,编译器在可以推断变量不为空的上下文中将局部变量声明视为 non-nullable - 这种类型转换称为“提升”。

编译器无法对实例属性执行提升,但是 - 因此即使您已经检查了该值,您仍然需要在末尾添加一个 ! 来解包该值。

if (response.data != null) {
  Map<String, dynamic> data = jsonDecode(response.data!);

  // Snip
}