Sobes.tech
Middle

Czym jest BuildContext w Flutter i jak jest używany?

sobes.tech AI

Odpowiedź od AI

BuildContext — to uchwyt wskazujący na lokalizację widżetu w drzewie widżetów. Każdy widżet ma własny BuildContext.

Jest używany:

  • Do dostępu do danych przodków: Na przykład Theme.of(context) do pobrania aktualnego motywu.
  • Do wyszukiwania widżetów przodków: Navigator.of(context) do nawigacji.
  • Do wykonywania działań zależnych od położenia w drzewie: Wyświetlenie SnackBar przez ScaffoldMessenger.of(context).
  • Do uzyskania rozmiaru i położenia widżetu: Przez BuildContext.size lub BuildContext.findRenderObject().

Przykład:

// Dostęp do ThemeData
ThemeData theme = Theme.of(context);

// Nawigacja
Navigator.push(
  context,
  MaterialPageRoute(builder: (context) => NextScreen()),
);

// Wyświetlenie SnackBar
ScaffoldMessenger.of(context).showSnackBar(
  SnackBar(content: Text('Cześć')),
);

BuildContext jest ważny tylko podczas cyklu życia odpowiedniego widżetu.