magazine off

テクノロジー・マガジン OFFです!コラム ✖️ 最新ニュースをほぼ毎日お届けしています。

Flutterのnullエラー Null check operator used on a null value解決

Flutter勉強中の初級レベルの備忘録です。

 

FlutterFire でgoogleログインして、ログインしてない場合はログインスクリーンへ飛ばしたいという機能を考えてみます。

 


_auth.currentUser?.uid

 

上記のように書くと、FlutterFire でgoogleログイン状態がとれるんですけど、もしログインしてない場合は、nullが返ってくる。

 

それでnullを普通に比較しようとすると、Null check operator used on a null value のエラーが出ます。これを直すためには、下記のように書きます。

 


var isUserLogin = _auth.currentUser?.uid ?? false; home: isUserLogin == false ? LoginScreen() : ProfileScreen(),

 

これで、Null check operator used on a null value に引っかからずにコードが動きます。

 

 

これは、初期化されていない nullable インスタンスに bang 演算子(!)を使用した場合に発生するので、

 

最初に初期化して、それを比較すればnull に対応できるということですよね。

 

ちなみに、null判定の比較の部分は、こちらを参考にしてみてください。

 

bool outConn = null ?? false; // false
bool outConn = false ?? false; // false
bool outConn = true ?? false; // true

コメントを残す