こんにちは。
Dart2.12より「Null Safety」をサポートするようになりました。開発中のコードに対応させるために実施したことを残します。
バージョンの確認とバージョンアップ
使用しているDartのバージョンを確認します。
|
|
Dartが2.12未満の場合は更新します。(2.12以上ですが更新してます)
|
|
Dart 2.12を適用
pubspec.yamlを編集します。Dart2.7は「Null Safety」未サポートのため、2.12に変更します。
|
|
変更すると(多分)色々エラーが出るようになるので、対応していきます。
Null Safety対応方法
ざっくりと、、「?」でNull許容する方法と「required」でNull不可にする方法があります。勿論安全面からは「required」を使用するのが好ましいですが、すべて対応するのが難しい事もあると思うので、必要に応じて使い分けます。
|
|
FlutterではウィジェットでKeyを常に提供する必要はないため、?を付けて対応する事ができます。上記の場合、Scrollbarを使用する時にchild引数を指定せずにを作成しようとすると、エラーとなるため、呼び出し元も修正する必要があるかもしれません。
引用:https://dart.dev/guides/language/language-tour
使用しているパッケージがNull Safety非対応の場合
自分のコードは修正できますが使用しているパッケージが非対応の場合、実行時に以下エラーとなってしまいます。
|
|
このままだと実行出来ないので、Null Safety非対応のものがあっても実行出来るように「–no-sound-null-safety」オプションを追加します。
|
|
Android Studioを使っている場合は、「構成の編集」から追加します。
Additional run argsに「–no-sound-null-safety」を追加します。