non_constant_map_element
const マップリテラルの要素は定数である必要があります。
説明
#if 要素または定数マップ内のスプレッド要素が定数要素ではない場合、アナライザーはこの診断を生成します。
例
#次のコードは、定数ではないマップをスプレッドしようとしているため、この診断を生成します。
dart
var notConst = <int, int>{};
var map = const <int, int>{...notConst};同様に、次のコードは、if 要素の条件が定数式ではないため、この診断を生成します。
dart
bool notConst = true;
var map = const <int, int>{if (notConst) 1 : 2};一般的な修正
#マップを定数マップにする必要がある場合は、要素を定数にします。スプレッドの例では、スプレッドされるコレクションを定数にすることで、それを実現できる場合があります。
dart
const notConst = <int, int>{};
var map = const <int, int>{...notConst};マップを定数マップにする必要がない場合は、const キーワードを削除してください。
dart
bool notConst = true;
var map = <int, int>{if (notConst) 1 : 2};