Инсталация
Добавете пакета, след което преместете навигацията и оверлеите в изрично състояние. Не оставяйте императивните push/pop в същия стек.
Една зависимост
Инсталирайте с една pub команда. Не е нужна настройка за генериране на код.
API, ориентиран към състоянието
Вие управлявате List<PageEntry> и по избор OverlayRequest като чисто състояние.
Постепенно въвеждане
Започнете с един функционален поток и мигрирайте екран по екран.
Инсталиране и инициализация
Използвайте pub add и после свържете началното root състояние за страниците и оверлея.
Команда
Начално състояние на приложението
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.