missing_ default_ value_ for_ parameter
Detalhes sobre o diagnóstico 'missing_default_value_for_parameter' produzido pelo analisador do Dart.
The parameter '{0}' can't have a value of 'null' because of its type, but the implicit default value is 'null'.
With null safety, use the 'required' keyword, not the '@required' annotation.
Descrição
#
O analisador gera este diagnóstico quando um parâmetro opcional, posicional ou nomeado, tem um tipo potencialmente não anulávelPotentially non-nullableUm tipo que é non-nullable explicitamente ou
por ser um parâmetro de tipo. Saiba mais
e não especifica um valor padrão. Parâmetros opcionais que não têm um valor padrão explícito recebem implicitamente o valor padrão
null. Se o tipo do parâmetro não permite que ele tenha o valor null, então o valor padrão implícito não é válido.
Exemplos
#
O código a seguir gera este diagnóstico porque x não pode ser null, e nenhum valor padrão diferente de
null foi especificado:
void f([int x]) {}
O mesmo ocorre com este:
void g({int x}) {}
Correções comuns
#
Se você quer usar null para indicar que nenhum valor foi informado, então precisa tornar o tipo anulável:
void f([int? x]) {}
void g({int? x}) {}
Se o parâmetro não pode ser nulo, então forneça um valor padrão:
void f([int x = 1]) {}
void g({int x = 2}) {}
ou torne o parâmetro obrigatório:
void f(int x) {}
void g({required int x}) {}
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ê.