Pular para o conteúdo principal

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:

dart
void f([int x]) {}

O mesmo ocorre com este:

dart
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:

dart
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:

dart
void f([int x = 1]) {}
void g({int x = 2}) {}

ou torne o parâmetro obrigatório:

dart
void f(int x) {}
void g({required int x}) {}

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ê.