警告: null 対応操作 '!' のオペランドには null を除外する 'SchedulerBinding' 型があります 質問する

警告: null 対応操作 '!' のオペランドには null を除外する 'SchedulerBinding' 型があります 質問する

Flutter 3.0 にアップデートした後、以下のコンパイル エラーが発生しました。このエラーは私のコードへの参照ではありません。フレームワークを参照しています。

Launching lib/main.dart on Chrome in debug mode...
lib/main.dart:1
: Warning: Operand of null-aware operation '!' has type 'SchedulerBinding' which excludes null.
../…/src/framework.dart:275
- 'SchedulerBinding' is from 'package:flutter/src/scheduler/binding.dart' ('../snap/flutter/common/flutter/packages/flutter/lib/src/scheduler/binding.dart').
package:flutter/…/scheduler/binding.dart:1
    if (SchedulerBinding.instance!.schedulerPhase ==

ベストアンサー1

Flutter 3.0に移行すると予想されます。ドキュメントこれについても言及します:

Warning: Operand of null-aware operation '!' has type 'SchedulerBinding' which excludes null.

これらは、API の簡素化 (バインディングのインスタンス プロパティが null 非許容になった) と、不要なときに使用される冗長な null 対応演算子 (! や ?. など) のケースを報告しようとする熱心なコンパイラーの組み合わせによって発生します。

解決策:

  1. を実行することでパッケージを更新できますflutter pub upgrade

  2. 問題が解決しない場合は (たとえば、一部のパッケージで引き続きこのエラーが発生する場合)、これは単なる警告であるため無視するか、ソース ファイルを編集して および?/またはを削除します!

おすすめ記事