問題タブ [dart-null-safety]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
flutter - エラー: ライブラリは、サウンドの null 安全性を使用する場合、デフォルトで null 安全性を無効にすることはできません
null 安全のために Flutter パッケージをアップグレードすると、実行時に次のエラーが発生しましたflutter test
。
答えはすぐそこにありましたが、しばらく混乱していたので、以下に答えを追加します。
flutter - Dart null-safety に移行した後、「レシーバーが null になる可能性があるため、オペレーターを無条件に呼び出すことはできません」というエラーが表示される
Flutter フレームワークに基づく個人用パッケージをアップグレードしています。ここで、Flutter Text ウィジェットのソース コードに null チェックがあることに気付きました。
ただし、textSpan!
まだ!
演算子を使用しています。演算子textSpan
を使用せずに null 非許容型に昇格する必要はありませんか? !
ただし、演算子を削除しようとすると、次のエラーが発生します。
自己完結型の例を次に示します。
コンパイル時エラーが発生します。
エラー: タイプ '文字列?' の値 戻り値の型が「String」であるため、関数「myString」から返すことができません。
または、取得しようとすると_mySting.length
、次のエラーが表示されます。
レシーバーが「null」になる可能性があるため、プロパティ「長さ」に無条件にアクセスすることはできません。
_myString
null チェックを行うと、null非許容型に昇格すると思いました。なぜそうしないのですか?
私の質問は GitHub で解決されたので、以下に回答を投稿します。