Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Assert do onClick

Apesar de colocar o assert do onClick assert(onClick != null), ao informar onClick: () => null nenhum erro ocorre, diferentemente do assert do icon, que funcionou corretamente exibindo erro ao informar null.

1 resposta
solução!

Olá Douglas, tudo bem com você?

De fato quando fazemos:

assert(onClick != null)

Só iremos pegar se a propriedade for passar como nulo mesmo,

onClick: null

No caso que você exemplificou temos uma função, então o assert não irá falhar, a questão é que o retorno da função é nulo

Poderíamos fazer:

assert( onClick () != null)

Maaas, eu acho que neste caso, eu vejo 50000 problemas de seguir por esse caminho, por exemplo:

  • Iremos executar uma função aleatoriamente direto no construtor e inclusive podemos alterar estado de algo
  • Funções como setState que tem retorno vazio também seriam pegas no assert
  • Qualquer coisa que faça que o componente seja rebuildado irá invocar novamente o construtor e teremos a função executando novamente
  • Uma função que execute setState e retorne algo, implicará em efetuar a ação 2 vezes

Ou seja, é melhor deixarmos o assert verificando apenas se foi passado de fato algo nulo

Se a invocação devolve nulo, ou não há função e simplesmente um () => null, significa que em algum momento o desenvolvedor colocou algo naquele campo e podemos pegar esse erro nos chamados Testes de Widget, dessa forma evitamos todos problemas que citei :)

Abraços e Bons Estudos!