တပ်ဆင်ခြင်း

Add the package, then move navigation and overlays into explicit state. Keep imperative push/pop out of the same stack.

တစ်ခုတည်းသော dependency

Install with one pub command. No code generation setup is required.

အခြေအနေအခြေပြု API

You control a List<PageEntry> and optional OverlayRequest as pure state.

တဖြည်းဖြည်း အသုံးပြုခြင်း

လုပ်ဆောင်ချက်တစ်ခုတည်းမှ စတင်ပြီး screen တစ်ခုချင်းစီအလိုက် ရွှေ့ပြောင်းပါ။

တပ်ဆင်ခြင်းနှင့် စတင်ခြင်း

pub add ကို အသုံးပြုပြီးနောက် စာမျက်နှာများနှင့် overlay အတွက် root state အစကို ချိတ်ဆက်ပါ။

Command

ကနဦး အက်ပ်အခြေအနေ

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

stack တစ်ခုအတွင်း၊ PageEntry.key သည် ထူးခြားနေရမည် အကြောင်းက ၎င်းသည် Navigator စာမျက်နှာ၏ identity ဖြစ်လာသောကြောင့်ဖြစ်သည်။