Back to questions
Junior — Middle
144
Объясните этапы жизни компонента widget в процессе его использования и деактивации.
Companies where asked
Pashapay
HamkorBank
Answer from AI
sobes.tech AI
Жизненный цикл виджета в Flutter включает несколько этапов:
- Создание (create): вызывается конструктор виджета, создаётся его экземпляр.
- Инициализация состояния (initState): вызывается у StatefulWidget, здесь можно инициализировать данные и подписки.
- Построение (build): вызывается для отрисовки виджета на экране, может вызываться много раз при изменении состояния.
- Обновление (didUpdateWidget): вызывается, когда родительский виджет обновляется и передаёт новые параметры.
- Деактивация (deactivate): вызывается перед удалением виджета из дерева, можно освободить ресурсы.
- Удаление (dispose): вызывается при окончательном удалении виджета, здесь нужно отменить подписки, таймеры и очистить контроллеры.
Пример использования:
class MyWidget extends StatefulWidget {
@override
_MyWidgetState createState() => _MyWidgetState();
}
class _MyWidgetState extends State<MyWidget> {
@override
void initState() {
super.initState();
// Инициализация
}
@override
Widget build(BuildContext context) {
return Container();
}
@override
void dispose() {
// Освобождение ресурсов
super.dispose();
}
}