在 flutter 应用程序中使用 amplify_api 包时出错,说 属性 无法升级
Error using amplify_api package inside flutter app, says property couldn't be promoted
我看到这条错误消息说明了两件事 -
- 参数类型String无法赋值给参数类型'String'
- 'data'指的是一个属性所以不能升级
对于第一个错误,我在代码中添加了空检查,但也没有解决问题,对于第二个错误,我不知道该如何处理。
第二个错误本质上是说您不能仅通过添加空检查来修复错误。如您所知,编译器在可以推断变量不为空的上下文中将局部变量声明视为 non-nullable - 这种类型转换称为“提升”。
编译器无法对实例属性执行提升,但是 - 因此即使您已经检查了该值,您仍然需要在末尾添加一个 !
来解包该值。
if (response.data != null) {
Map<String, dynamic> data = jsonDecode(response.data!);
// Snip
}
我看到这条错误消息说明了两件事 -
- 参数类型String无法赋值给参数类型'String'
- 'data'指的是一个属性所以不能升级
对于第一个错误,我在代码中添加了空检查,但也没有解决问题,对于第二个错误,我不知道该如何处理。
第二个错误本质上是说您不能仅通过添加空检查来修复错误。如您所知,编译器在可以推断变量不为空的上下文中将局部变量声明视为 non-nullable - 这种类型转换称为“提升”。
编译器无法对实例属性执行提升,但是 - 因此即使您已经检查了该值,您仍然需要在末尾添加一个 !
来解包该值。
if (response.data != null) {
Map<String, dynamic> data = jsonDecode(response.data!);
// Snip
}