I am having the following setup:
MaterialApp(home:SplashScreen)
SplashScreen(
///do some auth checks then
Navigator.of(context).push( MaterialPageRoute(
builder: (_) => StateInheritedWidget(
user: userData,
child: HomePage(),
)))
)
Then in my HomePage
I have a FAB that pushes a new route. This new route has no access to the context of my inherited widget.
Is it impossible to get the context of an InheritedWidget
in new routes, or is there a way to solve this issue ?
Update
This is my MaterialApp's builder property
builder: (context,child){
///Doing some auth stuff here
return new StateInheritedWidget(
user: userData,
child: userData==null?const SplashScreen(child: const LoginPage(),):
const SplashScreen(child: const HomePage(),),
);
},
My SplashScreen
build method:
return !_load? new Scaffold(
body: new Center(
child: new Text('Splash'),
),
):this.widget.child;
These are the error I get.
The first one seems to be related to the Drawer
in my HomePage
:
I/flutter (12688): ══╡ EXCEPTION CAUGHT BY WIDGETS LIBRARY ╞═══════════════════════════════════════════════════════════
I/flutter (12688): The following assertion was thrown building Tooltip("Open navigation menu", vertical offset: 24.0,
I/flutter (12688): position: below, dirty, state: _TooltipState#44ae9(ticker inactive)):
I/flutter (12688): No Overlay widget found.
I/flutter (12688): Tooltip widgets require an Overlay widget ancestor for correct operation.
I/flutter (12688): The most common way to add an Overlay to an application is to include a MaterialApp or Navigator
I/flutter (12688): widget in the runApp() call.
I/flutter (12688): The specific widget that failed to find an overlay was:
I/flutter (12688): Tooltip("Open navigation menu", vertical offset: 24.0, position: below)
I/flutter (12688):
The second exception appears when I click on FAB (Navigator.push)
I/flutter (12688): Another exception was thrown: Navigator operation requested with a context that does not include a Navigator.