草庐IT

InheritedWidget

全部标签

flutter - Provider 与 InheritedWidget

我是不是错了,或者如果我们只是想将一个值传递到Widget树下,Provider只是一个带有dispose方法的InheritedWidget吗? 最佳答案 是的。Provider确实主要是基于Inheritedwidgets的特性。如果你想自己做,那很好。但是您很快就会意识到,如果没有提供者,您将拥有数百条无用的重复行。Provider基本上采用了InheritedWidgets的逻辑,但将样板文件减少到严格的最低限度。 关于flutter-Provider与InheritedWidg

dart - 在新 route 无法访问 InheritedWidget

我是Flutter的新手,对InheritedWidget如何与路由一起工作感到困惑。我正在使用带有sqflite库的SQLite数据库。基本上,我想要实现的是,当我的应用程序启动时,我希望所有不需要数据库的小部件立即显示。例如,我的Scaffold的bottomNavigationBar不需要数据库,但主体需要。所以我希望bottomNavigationBar立即显示,并在正文中显示CircularProgressIndicator。打开数据库后,我希望正文显示从数据库加载的内容。因此,在尝试实现此目的时,我在Scaffold之前使用了FutureBuilder打开数据库。当Futu

dart - 访问 InheritedWidget 的上下文

我有以下设置:MaterialApp(home:SplashScreen)SplashScreen(///dosomeauthchecksthenNavigator.of(context).push(MaterialPageRoute(builder:(_)=>StateInheritedWidget(user:userData,child:HomePage(),))))然后在我的HomePage中,我有一个推送新路由的FAB。这条新路线无权访问我继承的小部件的上下文。是否无法在新路由中获取InheritedWidget的上下文,或者是否有解决此问题的方法?更新这是我的Material

dart - InheritedWidget 困惑

flutterdocumentationforInheritedWidget说Baseclassforwidgetsthatefficientlypropagateinformationdownthetree.Toobtainthenearestinstanceofaparticulartypeofinheritedwidgetfrom>abuildcontext,useBuildContext.inheritFromWidgetOfExactType.Inheritedwidgets,whenreferencedinthisway,willcausetheconsumertorebu

flutter - 带有 Scaffold 的 InheritedWidget 似乎无法正常工作

我希望在我的Flutter应用程序的根级别使用InheritedWidget,以确保所有子小部件都可以使用经过身份验证的用户的详细信息。基本上让Scaffold成为IW的子节点,如下所示:@overrideWidgetbuild(BuildContextcontext){returnnewAuthenticatedWidget(user:_user,child:newScaffold(appBar:newAppBar(title:'MyApp',),body:newMyHome(),drawer:newMyDrawer(),));}这在应用程序启动时按预期工作,因此在表面上似乎我已经在

flutter - 带有 Scaffold 的 InheritedWidget 似乎无法正常工作

我希望在我的Flutter应用程序的根级别使用InheritedWidget,以确保所有子小部件都可以使用经过身份验证的用户的详细信息。基本上让Scaffold成为IW的子节点,如下所示:@overrideWidgetbuild(BuildContextcontext){returnnewAuthenticatedWidget(user:_user,child:newScaffold(appBar:newAppBar(title:'MyApp',),body:newMyHome(),drawer:newMyDrawer(),));}这在应用程序启动时按预期工作,因此在表面上似乎我已经在

dart - InheritedWidget - 在 navigator.push 之后在 null 上调用 getter

在导航到新小部件后尝试访问InheritedWidget时遇到问题。我有这样的顶级小部件classAppextendsStatelessWidget{build(context){returnMaterialApp(title:'IniciarSesion',home:LoginBlocProvider(child:WelcomeScreen()),);}}然后WelcomeScreen有一个按钮可以导航到LoginScreenclassWelcomeScreenextendsStatelessWidget{@overrideWidgetbuild(BuildContextcontex