Flutter2.2以降はSearchDelegateのジェネリクスをNullableにしないとエラーになります

このページには広告が含まれる場合があります。

 

Flutterで以下のような検索ページを簡単に作れる「SearchDelegate」クラスというのがありますが、

このクラスを使う際に、Flutter2.2以降はNull Safetyが強制適用されましたので、戻り値のジェネリクスをNullable(?付き)にしないとエラーになりますので注意が必要です。

(以下上記issueから機会翻訳)

SearchDelegateウィジェットを拡張する際には、close()メソッドを使用してルートをポップする必要があります。

null safetyがないと、基礎となるNavigatorState.pop()にnull値を渡すことができ、処理すべき結果がないことになります(アプリケーションの観点から)。
NULLセーフでは、上位のclose()メソッドがあるため、このようなことはできません。

また、これはオプションの結果を許可するshowSearch<T>(delegate: ? extends SearchDelegate)にも関連しています。
この連鎖は矛盾しています。

したがって、期待される動作は、このメソッドでオプションの結果を許可するようにシグネチャを変更し、基礎となるリソースを解放しないことで将来のバグを回避することです。

(だからジェネリクスをNullableにする必要あり)

 

(詳しくは、以下の動画で解説していますので、よろしければご覧下さい)

こんな記事も読まれています

イチオシ

40代から感じるモヤモヤを解消できる 無料動画セミナー

あすコロ式・40代からの人生アップデート【新】戦略

アラフォーでキャリアを失ったバリバリ左脳人間・スピリチュアル耐性ゼロの元金融マンが、人生どん底から立ち上がる過程でたどり着いた「人生再構築メソッド」。40代・50代を過ぎて多くの人が感じる「このままでいいんかな?」「この先どうしたらいいかわからない」というモヤモヤを解消し、人生後半戦をアップデートさせる【新】戦略。

今すぐ無料で動画セミナー(80分)を見る ▶

TOP