3
respostas

Children<Widget>

Na versão de Intelij que eu estou usando não aparece o quando eu crio o children, tem problema deixar sem? No automático, ele fica assim: children: [ Icon(Icons.people) ]

3 respostas

Olá Gisele, tudo bem com você?

Não há problema nenhum, realmente nas últimas versões do Flutter está um pouco diferente, na verdade a grande diferença é que quando temos:

children: <Widget>[
    ...
]

Estamos definindo o tipo daquele array, no caso, qualquer elemento que não seja um Widget terá um erro de compilação, por exemplo:

children: <Widget>[
    Icon( Icons.people),
    42  <---- 
]

quando é feito da seguinte maneira:

children: [ Icon(Icons.people)]

Acontece a chamada inferência de tipo, ou seja, ele admite que dado que o primeiro elemento é um Widget, se trata de um array de Widgets

Conseguiu Compreender?

Abraços e Bons Estudos!!

Então é recomendável, porque não tem problema de aicionar algo que não seja widget?

Olá Gisele,

Acredito que com a inferência de tipos ele já garanta que não consiga colocar elementos incorretos

Eu utilizaria o <Widget>[ por uma questão de visibilidade, fica mais simples entender quando começa uma Column, uma Row do que um simples array sem a tipagem :)

Abraços!