I have an App with a LoginScreen that goes to the HomeScreen after a success login. I use this code below to replace the widget and start a new navigation Stack:
Navigator.pushReplacement(
context,
CupertinoPageRoute(
builder: (context) => HomeScreen(),
),
);
The HomeScreen is a CupertinoTabScaffold
with 2 CupertinoTabViews
.
The second CupertinoTabView
contain a Widget that has a logout button.
After a success logout I want to remove the HomeWidget, and go to LoginScreen.
Using
Navigator.pushReplacement(
context,
CupertinoPageRoute(
builder: (context) => LoginScreen(),
),
);
in a Widget inside the second CupertinoTabView
only reset its navigation, and the LoginScreen appears inside the second CupertinoTabView
.
What I want is some code to remove my HomeScreen and start a new Navigation stack with the LoginScreen.
Found solution from the official FlutterGallery source code. This will navigate route to root.
Navigator.of(context, rootNavigator: true).pop();