Oii Alvaro, tudo bem?
Sua dúvida é bastante pertinente e mostra que você está realmente prestando atenção nos detalhes do código!
A razão pela qual utilizamos if(value != null && value.isEmpty)
em vez de if(value == null && value.isEmpty)
é porque queremos garantir que o valor não seja nulo antes de tentar acessar o método .isEmpty
.
No Dart, que é a linguagem usada no Flutter, tentar acessar um método em um valor nulo poderá resultar em um erro de tempo de execução. Então, a primeira parte da condição value != null
serve como uma verificação de segurança para garantir que o valor não é nulo antes de proceder para verificar se está vazio com value.isEmpty
.
Espero que isso esclareça sua dúvida!
Um abraço e bons estudos.