in nav2-usability/scenario_code/lib/skipping-stacks/skipping_stacks_navi.dart [186:215]
Widget build(BuildContext context) {
return NaviStack(
pages: (context) => [
NaviPage.material(
key: const ValueKey('Books'),
child: BooksListScreen(
books: books,
onTapped: (book) => setState(() {
_selectedBook = book;
}),
),
),
if (_selectedBook != null)
NaviPage.material(
key: ValueKey(_selectedBook),
route: NaviRoute(path: ['book', '${_selectedBook!.id}']),
child: BookDetailsScreen(
book: _selectedBook!,
),
),
],
onPopPage: (context, route, dynamic result) {
if (_selectedBook != null) {
setState(() {
_selectedBook = null;
});
}
},
);
}