Якщо ви хочете зробити це лише один раз, зробіть це, тому що Framework буде викликати initState()метод рівно один раз для кожного об'єкта стану, який він створює.
@override
void initState() {
super.initState();
WidgetsBinding.instance
.addPostFrameCallback((_) => executeAfterBuildComplete(context));
}
Якщо ви хочете робити це знову і знову, як на зворотному боці або перейти до наступного екрана та ін ..., тоді зробіть це, оскільки didChangeDependencies()викликається, коли змінюється залежність цього стану.
Наприклад, якщо попередній виклик buildпосилався на InheritedWidgetякий пізніше змінився, фреймворк викликав би цей метод, щоб повідомити цей об'єкт про зміну.
Цей метод також називається відразу після initState. З BuildContext.dependOnInheritedWidgetOfExactTypeцього методу можна дзвонити безпечно .
@override
void didChangeDependencies() {
super.didChangeDependencies();
WidgetsBinding.instance
.addPostFrameCallback((_) => executeAfterBuildComplete(context));
}
Це ваша функція зворотного дзвінка
executeAfterBuildComplete([BuildContext context]){
print("Build Process Complete");
}
build. Будувати можна в будь-який час кілька разів.