1
resposta

Construtor e nulabilidade

Eu fiquei com uma dúvida, porque o editor sugere que não pode usar a lista sem atribuir um valor, mas quando se cria um construtor, o erro some. Por que isso acontece?

class Clients extends ChangeNotifier {
  List<Client> clients;

  Clients({
    required this.clients
  })
}
1 resposta

Olá, Gisele! Tudo bem?

Isso acontece pois quando você utiliza o required no seu construtor, ele obrigatoriamente receberá a lista de clientes, logo esse valor não será nulo. Dessa maneira, não é necessário inicializar a lista dentro da própria classe.

Caso esse valor do construtor não fosse obrigatório (required), o editor te retornaria um erro, e então você poderia tornar a variável clients nulável (ou seja, que pode ser nula ou não) adicionando uma ? na declaração do tipo da sua variável:

class Clients extends ChangeNotifier {
  List<Client>? clients; // variável pode ser nula ou não

    // construtor sem required
  Clients({
    this.clients
  })
}

Se tiver interesse, temos um artigo incrível sobre o Null Safety, vale a pena a leitura.

Espero ter te ajudado, bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado. ✓

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software