Sobes.tech
Middle

Какво е BuildContext във Flutter и как се използва?

sobes.tech AI

Отговор от AI

BuildContext — това е дръжка, която указва местоположението на widget в дървото на widget-овете. Всяко widget има свой собствен BuildContext.

Използва се:

  • За достъп до данни от предци: Например, Theme.of(context) за получаване на текущата тема.
  • За търсене на предшестващи widget-и: Navigator.of(context) за навигация.
  • За изпълнение на действия, зависещи от позицията в дървото: Показване на SnackBar чрез ScaffoldMessenger.of(context).
  • За получаване на размера и позицията на widget: Чрез BuildContext.size или BuildContext.findRenderObject().

Пример:

// Достъп до ThemeData
ThemeData theme = Theme.of(context);

// Навигация
Navigator.push(
  context,
  MaterialPageRoute(builder: (context) => NextScreen()),
);

// Показване на SnackBar
ScaffoldMessenger.of(context).showSnackBar(
  SnackBar(content: Text('Здравей')),
);

BuildContext е валиден само по време на жизнения цикъл на съответния widget.