CONpero, qué es esto BuildContext es, de hecho, un importador para esas aplicaciones con Flutter, se concibe que usemos varias formas y les demos varias formas, para que esté aquí, pero no funciona como una función. Por tanto, es posible facilitar la enseñanza de este concepto y demostrar que está incluido en una aplicación.
¿Qué es BuildContext?
O BuildContext es una referencia para localizar uno widget en el árbol de widgets de aplicación. Cada widget a una ubicación en el árbol y el papel de BuildContext se hace referencia en esta ubicación.
El dispositivo no funciona build
hacer widget e ayuda a un diz qual widget el aparato y dónde está en el arca de widgets. Emprendimiento, que puede utilizarse, entre otros, para la interacción con un componente o widget.
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp();
}
}
O contexto es una instancia de hacer BuildContext y puede nombrar tanto como sea posible, pero no recomiendo un patrón.
¿Función combinada sobre BuildContext?
O BuildContext formar un patio de árboles con os widgets, de la forma que, si widget A tem um widget archivo B, unidad o BuildContext hacer widget A é día reO BuildContext hacer widget SEGUNDO.
Estas instalaciones facilitan la promoción de información entre widgets sobre su aplicación. Un buen ejemplo de esta promoción de información es cuando usamos algunos de los temas definidos anteriormente.
color: Theme.of(context).primaryColor
Pero, ¿qué pasa con el documento BuildContext en el ejemplo?
O Theme.of(context)
tómese más tiempo para BuildContext fornecido, o seja, o tema que sera encontrado sera o tema do widget Pai mais priximo que tiver essa informão.
Aquí es donde nos interesa el problema:
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
theme: ThemeData(
primaryColor = Colors.red,
iconTheme: IconThemeData(
color: Theme.of(context).primaryColor,
),
),
);
}
}
Definimos a cor primária č MyApp primaryColor = Colors.red
y usemos esta información para definir el color de los iconos. Entidad, sin código adicional:
iconTheme: IconThemeData(
color: Theme.of(context).primaryColor,
),
Este código, de hecho, no funciona para un simple signo que se indica explícitamente. O Theme.of(context)
, nesse caso, procura o widget ancestors more next que possui a informação primaryColor
, porém o primaryColor
se definió en el widget, este formulario, o primaryColor
serie no encontrada. Logotipo, llegamos a la conclusión de que se define o tematiza en uno widget que envolva todos, e assim, usa-se o BuildContext para recibir información de widget padre e nuera widgets archivos.
Los museos existentes no tienen aplicaciones y están disponibles para todos BuildContext también nos ayudamos a aprender más sobre el concepto de InheritedWidgets ese falarei sobre em breve.