Flutter க்கான அறிவிப்புப் பாணி நெவிகேஷன் மற்றும் ஓவர்லேக்கள்.

Navigator.push/pop அல்லது showDialog இன்றி Navigator 2.0 பக்கங்களையும் திரை-உள்ளூர் ஓவர்லேக்களையும் கட்டுப்படுத்துங்கள்.

பக்கங்கள் என்பது தரவு

PageEntry மெட்டாடேட்டாவை மட்டுமே வைத்திருக்கிறது. UI உங்கள் resolver மூலம் உருவாக்கப்படுகிறது.

திரை-உள்ளூர் ஓவர்லேக்கள்

Dialog மற்றும் bottom sheet கள் திரை ஒவ்வொன்றுக்கும் கட்டுப்படுத்தப்படுகின்றன, உலகளாவிய நிலை இல்லை.

நிலைக்கு சார்பற்றது

setState, Riverpod, Bloc அல்லது Provider பயன்படுத்துங்கள். சார்புகள் தேவையில்லை.

முதல் படிகள்

declarative_nav ஐ நிறுவி resolver callback மூலம் பக்கங்களை render செய்யுங்கள்.

நிறுவல்

flutter pub add declarative_nav

பயன்பாட்டு வழிகாட்டி

app_root.dart
class AppRoot extends StatefulWidget {
  const AppRoot({super.key});

  @override
  State<AppRoot> createState() => _AppRootState();
}

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

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

  Widget buildPage(BuildContext context, PageEntry page) {
    return HomePage(onOpenDialog: _openDialog);
  }

  @override
  Widget build(BuildContext context) {
    return DeclarativePagesNavigator(
      pages: _pages,
      buildPage: buildPage,
      onPopTop: _popTop,
      canPopTop: () => _overlay == null,
    );
  }
}
முக்கிய குறிப்பு

இந்த தொகுப்பு Navigator.push/pop மற்றும் showDialog அழைப்புகளைத் தவிர்க்கிறது. நெவிகேஷன் மற்றும் ஓவர்லேக்களை நிலைமையிலிருந்து இயக்குங்கள்.

முந்தைய

மேலோட்டம்

அடுத்தது

நிறுவல்