問題タブ [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.

0 投票する
2 に答える
11832 参照

flutter - エラー: ライブラリは、サウンドの null 安全性を使用する場合、デフォルトで null 安全性を無効にすることはできません

null 安全のために Flutter パッケージをアップグレードすると、実行時に次のエラーが発生しましたflutter test

答えはすぐそこにありましたが、しばらく混乱していたので、以下に答えを追加します。

0 投票する
3 に答える
19975 参照

flutter - Dart null-safety に移行した後、「レシーバーが null になる可能性があるため、オペレーターを無条件に呼び出すことはできません」というエラーが表示される

Flutter フレームワークに基づく個人用パッケージをアップグレードしています。ここで、Flutter Text ウィジェットのソース コードに null チェックがあることに気付きました。

ただし、textSpan!まだ!演算子を使用しています。演算子textSpanを使用せずに null 非許容型に昇格する必要はありませんか? !ただし、演​​算子を削除しようとすると、次のエラーが発生します。

自己完結型の例を次に示します。

コンパイル時エラーが発生します。

エラー: タイプ '文字列?' の値 戻り値の型が「String」であるため、関数「myString」から返すことができません。

または、取得しようとすると_mySting.length、次のエラーが表示されます。

レシーバーが「null」になる可能性があるため、プロパティ「長さ」に無条件にアクセスすることはできません。

_myStringnull チェックを行うと、null非許容型に昇格すると思いました。なぜそうしないのですか?

私の質問は GitHub で解決されたので、以下に回答を投稿します。