25 votes

Dois-je appeler super.initState à la fin ou au début?

Je ne sais pas où appeler le super.initSate() en scintillement? Dans certains exemples de code, il est appelé au début et dans d'autres à la fin. Y a-t-il une différence?

J'ai essayé de google mais je n'ai trouvé aucune explication sur la position de cet appel de fonction.

Laquelle est correcte?

 void initState() {
  super.initState();    
  //DO OTHER STUFF
}

ou

 void initState() {    
  //DO OTHER STUFF
  super.initState();    
}

5voto

CopsOnRoad Points 4705
<p><code></code> devrait toujours être la première ligne de votre <code></code> méthode. <p>De docs:</p><blockquote> <p>initState(): Si vous remplacez cela, assurez-vous que votre méthode commence par un appel à super.initState().</p> </blockquote></p>

2voto

Pablo Barrera Points 4803
<p>Comme vous pouvez le voir dans les classes à partir du cadre, vous devez tout faire après que le widget est paramé sonné, ce qui signifie après <code></code> .<p>Je cas de disposer serait logiquement dans l’autre sens, d’abord tout faire, puis appeler <code></code> .</p><pre><code></code></pre></p>

0voto

Anirudh Sharma Points 102
<p>initState appelé par défaut chaque fois qu’un nouveau widget stateful est ajouté dans un arbre widget. Maintenant, le super.initState effectue l’implémentation par défaut de la classe de base de votre widget. Si vous appelez quelque chose avant super.initState qui dépend de la classe de base, alors cela pourrait causer des problèmes. C’est pourquoi il est recommandé d’appeler initState de cette façon:<pre><code></code></pre></p>

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X