Na aula "Extraindo Widgets flexíveis" do curso "Fundamentos de Flutter: Crie o seu primeiro App" é mostrado como fazer parâmetros opcionais para um widget, porém no Flutter 2.0+ a coisa muda de figura.
O código antigo seria: (salvo cortes para reduzir a escrita)
class Editor extends StatelessWidget{
final String rotulo
final IconData icone
Editor({this.rotulo, this.icone});
}
O código atualizado é:
class Editor extends StatelessWidget {
final String rotulo;
final IconData? icone;
Editor({
required this.dica,
this.icone,
});
}
Explicação: Nas novas versões você precisa adicionar o "required" antes das variáveis obrigatórias, nas que opcionais deixe sem.
O que também muda: Na variável dentro da função é preciso criar uma condicional para o devido tratamento das variáveis opcionais. Exemplo:
icon: icone != null ? Icon(icone) : null,