Flutter 2迁移后getter 'loading'返回dynamic不符bool的编译错误如何解决?
问题产生原因
Flutter 2配套的Dart 2.12+版本默认启用空安全和强类型检查规则,你写的loading getter没有显式声明返回值类型,Dart会将其默认推导为dynamic类型。而对应的loading setter明确指定了入参类型为bool,编译阶段检测到getter返回类型和setter入参类型不匹配,就会触发该错误。
解决方法
只需要给getter加上显式的bool返回类型声明即可,修改后的代码如下:
class xxProvider extends ChangeNotifier { bool _loading = false; bool get loading => _loading; set loading(bool loading) { _loading = loading; notifyListeners(); } }
内容的提问来源于stack exchange,提问作者Monta
相关产品推荐
相关产品推荐

