[Flutter] リストに対するfirstWhereやfirstの注意点

表題の関数はリストにおいて、条件を満たす最初の要素を返却する。

// リスト内からidが100の要素を返却
final response = items.firstWhere((item) => item.id == 100);

この際、データが見つからない場合はStateErrorがthrowされる。
FutureBuilderとかでそうなると処理がそこでストップしてしまう。

対策としては、orElseプロパティに返却する値を指定する。

// データがない場合はnullを返却
final response = items.firstWhere((item) => item.id == 100, orElse: () => null);