Skip to content

Instantly share code, notes, and snippets.

@rullyalves
Created June 28, 2019 20:36
Show Gist options
  • Select an option

  • Save rullyalves/bd4dc408521e7859ac81c5592d931337 to your computer and use it in GitHub Desktop.

Select an option

Save rullyalves/bd4dc408521e7859ac81c5592d931337 to your computer and use it in GitHub Desktop.
explicação de como implementar o didUpdateWidget
class Algo extends StatefulWidget {
final String parametro;
// construtor do StatefulWidget recebendo parâmetros
// quando o pai desse widget reconstruir, esse widget também poderá ser reconstruído
// e se o mesmo for reconstruído, será chamado o método didUpdateWidget
Algo({Key key,this.parametro}) : super(key:key);
@override
_AlgoState createState() => _AlgoState();
}
class _AlgoState extends State<Algo> {
// sobrescrevendo o método didUpdateWidget
@override
void didUpdateWidget(Algo oldWidget){
super.didUpdateWidget(oldWidget);
// aqui, podemos executar alguma lógica os parâmetros que recebemos via construtor
// por exemplo:
if(oldWidget.parametro =! widget.parametro){
print("os parâmetros mudaram");
// oldWidget te traz a configuração widget antiga, antes do pai desse widget e o mesmo terem sido reconstruídos
print(oldWidget.parametro);
// widget te traz a configuração atual, com os valor atual dos parâmetros recebidos via construtor
print(widget.parametro);
}
}
@override
Widget build(BuildContext context) {
return Container(
child: Center(child:Text("centro"))
);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment