gpt4 book ai didi

dart - Flutter:在没有上下文的情况下从 InheritedWidgets 访问数据?

转载 作者:IT老高 更新时间:2023-10-28 12:42:46 28 4
gpt4 key购买 nike

我看到我可以像这样在 build() 方法中访问 InheritedWidgets:final inheritWidget = ChronoApp.of(context); 但是如果我想访问它在其他地方,比如在没有上下文的 initState() 中。我该怎么做?

最佳答案

我发现对我有用的是获取父上下文并在 initState 之后调用的 didChangeDependencies() 函数中使用它。像这样

@override
// TODO: implement context
BuildContext get context => super.context;

@override
void didChangeDependencies() {
bloc = LoginBlocProvider.of(context);
bloc.isAuthenticated.listen((bool value) {
setState(() {
isLoading = false;
});

if (value) {
Navigator.push(context, MaterialPageRoute(
builder: (BuildContext context) => HomeScreen()
));
}
});
super.didChangeDependencies();
}

来自 de didChangeDependencies() 文档:

This method is also called immediately after initState. It is safe to call BuildContext.inheritFromWidgetOfExactType from this method.

我仍在尝试完全理解此功能,但这对我有用

关于dart - Flutter:在没有上下文的情况下从 InheritedWidgets 访问数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49968053/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com