Bunu yalnızca bir kez yapmak istiyorsanız, bunu yapın çünkü çerçeve, initState()
oluşturduğu her State nesnesi için yöntemi tam olarak bir kez çağıracaktır .
@override
void initState() {
super.initState();
WidgetsBinding.instance
.addPostFrameCallback((_) => executeAfterBuildComplete(context));
}
Bunu tekrar tekrar yapmak isterseniz, arkada olduğu gibi veya bir sonraki ekrana vb. didChangeDependencies()
Gitmek istiyorsanız, bunu yapın çünkü bu Durum nesnesinin bir bağımlılığı değiştiğinde Çağırılır.
Önceki çağrı Örneğin, build
başvurulan bir InheritedWidget
sonraki değişti, çerçeve değişikliği ile ilgili bu nesneyi bildirmek için bu yöntemi çağırır.
Bu yöntem hemen ardından da çağrılır initState
. BuildContext.dependOnInheritedWidgetOfExactType
Bu yöntemden aramak güvenlidir .
@override
void didChangeDependencies() {
super.didChangeDependencies();
WidgetsBinding.instance
.addPostFrameCallback((_) => executeAfterBuildComplete(context));
}
Bu, Geri Arama işlevinizdir
executeAfterBuildComplete([BuildContext context]){
print("Build Process Complete");
}
build
. Build herhangi bir zamanda birden çok kez çağrılabilir.