Soy nuevo en flutter y cuando quiero llamar a mi contexto en InitState, arroja un error: que es sobre,
BuildContext.inheritFromWidgetOfExactType
pero luego uso didChangeDependencies y funciona correctamente.
ahora tengo 2 preguntas:
1: ¿por qué no podemos llamar a nuestro contexto en initState pero no hay ningún problema para didChangeDependencies? (porque, como leí en el documento oficial This method is also called immediately after [initState]
, se llamará a ambos antes del método de compilación).
2: ¿por qué tenemos acceso al contexto fuera del método de compilación (porque allí tenemos build(BuildContext context)
y podemos usar nuestro contexto, pero en didChangeDependencies no tenemos nada parecido didChangeDependencies(BuildContext context)
, por lo que podemos llamar al contexto para usarlo)?
initState
documentaciónAsí que hay que utilizar
BuildContext.inheritFromWidgetOfExactType
endidChangeDependencies
.context
. Es por eso que tiene acceso al contexto fuera del método de compilación.En cuanto a
build(BuildContext context)
, elbuild
método aceptacontext
desde el widget principal. Significa que este parámetroBuildContext context
no es el contexto del widget actual sino el contexto de su padre.fuente
La respuesta esta aqui
fuente