Widget build()

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;
          });
        }
      },
    );
  }