पैकेज, रिपॉज़िटरी और ऐप श्रेणियाँ खोजें

पैकेज विवरणv1.8.2

route_observer_mixin

RouteObserveMixin को didPush/didPop/didPushNext/didPopNext तक आसान पहुंच प्रदान करता है।

AndroidiOSWebmacOSWindowsLinux
30-दिन डाउनलोड
5.7 हज़ार
लाइक
20
Pub अंक
160

पैकेज इंस्टॉल करें

flutter pub add route_observer_mixin

पैकेज अवलोकन

सार्वजनिक जानकारी से बना चयन मार्गदर्शन। केवल संदर्भ हेतु।

RouteObserveMixin एक Flutter उपयोगिता मिक्सिन है जो didPush, didPop, didPushNext और didPopNext जैसे रूट लाइफसाइकल घटनाओं को सरल बनाता है। यह विजेट्स को रूट प्रबंधन या ग्लोबल ऑब्जर्वर का उपयोग किए बिना नेविगेशन बदलावों के प्रति प्रतिक्रिया करने की अनुमति देता है। नेविगेशन फ्लो से जुड़े राज्य प्रबंधन और UI अपडेट के लिए आदर्श है, जो बहु-प्लेटफॉर्म पर जटिल रूटिंग परिदृश्यों में इंटरैक्शन को आसान बनाता है।

उपयोग

  • नेविगेशन स्थिति परिवर्तनों का निपटान
  • मार्ग संक्रमण पर UI अपडेट करना
  • पुश/पॉप इवेंट्स के दौरान स्टेट का प्रबंधन
  • मार्ग परिवर्तन के साथ डेटा सिंक्रनाइज़ करना
  • कस्टम नेविगेशन व्यवहार का लागू करना

मुख्य विशेषताएँ

  • मौजूदा विजेट्स के साथ आसान एकीकरण
  • स्वचालित जीवनचक्र घटना कॉलबैक
  • सभी प्रमुख फ्लटर प्लेटफॉर्म का समर्थन करता है
  • न्यूनतम बॉयलरप्लेट कोड
  • नेविगेशन तर्क का स्पष्ट अलगाव

इनके लिए उपयुक्त

  • जटिल नेविगेशन फ्लो का उपयोग करने वाले डेवलपर
  • रूट जागरूकता के साथ राज्य प्रबंधन
  • क्रॉस-प्लेटफॉर्म फ्लटर एप्स
  • नेविगेशन संदर्भ की आवश्यकता वाले विजेट्स

विचार योग्य बातें

  • विजेट क्लास में मिक्सिन उपयोग की आवश्यकता है
  • केवल मार्ग जीवनचक्र घटनाओं तक सीमित
  • पूर्ण नेविगेटर प्रबंधन को प्रतिस्थापित नहीं करता है
  • अवस्था-आधारित विजेट्स के साथ सबसे अच्छा उपयोग करें
  • सरल नेविगेशन परिदृश्य के लिए उपयुक्त नहीं

मूल README

संबंधित सोर्स रिपॉज़िटरी के मूल README का स्नैपशॉट। नवीनतम सामग्री के लिए रिपॉज़िटरी देखें।

route_observer_mixin

Gif

RouteObserveMixin provides easy access to didPush/didPop/didPushNext/didPopNext.

Usage

1. Wrap MaterialApp with RouteObserverProvider.
void main() {
  runApp(
    MultiProvider(
      providers: [
        // 1. Wrap MaterialApp with RouteObserverProvider.
        RouteObserverProvider(),
        ChangeNotifierProvider(create: (context) => Logger())
      ],
      child: const App(),
    ),
  );

  // Of course, this is also ok.
  // I demonstrated that [MultiProvider] can be used for RouteObserverProvider👍

  /*
  runApp(
    RouteObserverProvider(
      child: App(),
    ),
  );
  */
}
2. Pass RouteObserverProvider.of(context) to navigatorObservers.
class App extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      // 2. Pass RouteObserverProvider.of(context) to navigatorObservers.
      navigatorObservers: [RouteObserverProvider.of(context)],
      home: const APage(),
    );
  }
}
3. Add with RouteAware, RouteObserverMixin to State and override RouteAware methods.
class APage extends StatefulWidget {
  const APage({Key key}) : super(key: key);

  @override
  _APageState createState() => _APageState();
}

// 3. Add `with RouteAware, RouteObserverMixin` to State and override RouteAware methods.
class _APageState extends State<APage> with RouteAware, RouteObserverMixin {

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: const Text('A Page'),
      ),
      body: Center(
        child: RaisedButton(
          onPressed: () {
            Navigator.of(context).push<void>(
              MaterialPageRoute(
                builder: (context) => const BPage(),
              ),
            );
          },
          child: const Text('B Page'),
        ),
      ),
    );
  }

  /// Called when the top route has been popped off, and the current route
  /// shows up.
  @override
  void didPopNext() { }

  /// Called when the current route has been pushed.
  @override
  void didPush() { }

  /// Called when the current route has been popped off.
  @override
  void didPop() { }

  /// Called when a new route has been pushed, and the current route is no
  /// longer visible.
  @override
  void didPushNext() { }
}

Example

  • https://github.com/mono0926/route_observer_mixin/tree/master/example

श्रेणियाँ

निर्भरताएँ

निर्भरता सूची 4 आइटम

सोर्स रिपॉज़िटरी

इस पैकेज का उपयोग करने वाले प्रोजेक्ट

अभी कोई डेटा उपलब्ध नहीं है।