Created
June 28, 2019 20:36
-
-
Save rullyalves/bd4dc408521e7859ac81c5592d931337 to your computer and use it in GitHub Desktop.
explicação de como implementar o didUpdateWidget
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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