警告:空感知操作“!”的操作数 具有排除 null 的类型“WidgetsBinding”

Flu*_*Dev 12 flutter

当我进行 flutter 升级然后运行我的应用程序时,会发生此错误。

../../../development/tools/flutter/.pub-cache/hosted/pub.dartlang.org/responsive_sizer-3.0.6+1/lib/src/helper.dart:56:33:警告:空感知操作 '!' 的操作数 具有排除 null 的“WidgetsBinding”类型。

  • 'WidgetsBinding' 来自 'package:flutter/src/widgets/binding.dart' ('../../../development/tools/flutter/packages/flutter/lib/src/widgets/binding.dart') 。PixelRatio = WidgetsBinding.instance!.window.devicePixelRatio;

而且该应用程序向我发出警告,但仍正常运行 此处出现错误

hnn*_*lch 11

这是警告而不是错误。在 Flutter 3 中,instance诸如WidgetsBinding和 之类的绑定属性SchedulerBinding现在是不可为 null 的,因此使用 null 感知运算符?或 null 断言操作!将导致此警告。

如果此警告源自外部包(如您的情况),您可以联系开发人员并提出问题。3.0.7尽管对于您的特定包,它应该已经在版本或更高版本中得到解决,如此处所述。所以升级包应该可以解决问题。

就您自己的代码而言,您可以运行dart fix --apply并删除任何空感知或空断言运算符。例如 改变

SchedulerBinding.instance!.addPostFrameCallback(...);
Run Code Online (Sandbox Code Playgroud)

SchedulerBinding.instance.addPostFrameCallback(...);
Run Code Online (Sandbox Code Playgroud)

Flutter 文档中的此页面更详细地描述了您的选项。

  • 您可以为每个问题提出问题,然后等待开发人员更新相应的软件包。对于许多软件包,最新版本已经解决了该问题,或者开发人员正在积极解决该问题。与此同时,我们有两个选择:(1) 忽略警告或 (2) 暂时降级到 Flutter 版本 2.10.5。 (2认同)

归档时间:

查看次数:

9945 次

最近记录:

3 年,5 月 前