non_ constant_ map_ element
Detalhes sobre o diagnóstico 'non_constant_map_element' produzido pelo analisador do Dart.
The elements in a const map literal must be constant.
Descrição
#
O analisador emite este diagnóstico quando um elemento if ou um elemento de
spread em um mapa constante não é um elemento constante.
Exemplos
#O código a seguir gera este diagnóstico porque tenta fazer spread de um mapa não constante:
var notConst = <int, int>{};
var map = const <int, int>{...notConst};
Da mesma forma, o código a seguir gera este diagnóstico porque a condição no
elemento if não é uma expressão constante:
bool notConst = true;
var map = const <int, int>{if (notConst) 1: 2};
Correções comuns
#Se o mapa precisar ser um mapa constante, então torne os elementos constantes. No exemplo de spread, você pode fazer isso tornando constante a coleção que está sendo espalhada:
const notConst = <int, int>{};
var map = const <int, int>{...notConst};
Se o mapa não precisar ser um mapa constante, então remova a palavra-chave
const:
bool notConst = true;
var map = <int, int>{if (notConst) 1: 2};
Salvo indicação em contrário, a documentação neste site reflete Dart 3.13.7. Relatar um problema.
Encontrou essa página sem tradução ou que precisa de correção? Abra uma issue e nos ajude a manter esse site em PT-BR para ajudar pessoas como você.