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 対応演算子 (! や ?. など) のケースを報告しようとする熱心なコンパイラーの組み合わせによって発生します。
解決策:
を実行することでパッケージを更新できます
flutter pub upgrade
。問題が解決しない場合は (たとえば、一部のパッケージで引き続きこのエラーが発生する場合)、これは単なる警告であるため無視するか、ソース ファイルを編集して および
?
/またはを削除します!
。