安装

先添加包,再把导航和叠层迁移为显式状态。不要把命令式 push/pop 和同一堆栈混用。

单一依赖

通过一个 pub 命令即可安装,无需配置代码生成。

状态优先接口

你可以把 List<PageEntry> 以及可选的 OverlayRequest 当作纯状态来控制。

渐进式接入

可以从一个功能流开始,按页面逐步迁移。

安装与初始化

先执行 pub add,然后为页面和叠层接好初始根状态。

命令

初始应用状态

import 'package:declarative_nav/declarative_nav.dart';

class _AppRootState extends State<AppRoot> {
  OverlayRequest? _overlay;
  late List<PageEntry> _pages;

  @override
  void initState() {
    super.initState();
    _pages = const [
      PageEntry(key: 'home', name: '/home'),
    ];
  }
}
约束

在同一个堆栈内, PageEntry.key 必须保持唯一 因为它会成为 Navigator 页面身份的一部分。

上一页

简介

下一页

叠层