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

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

bloc_provider

प्रतिनिधि विजेट को ब्लॉक प्रदान करता है (O(1)) और ब्लॉक को ब्लॉक_प्रोवाइडर द्वारा आंतरिक रूप से धारण किए गए राज्य द्वारा उचित ढंग से निष्क्रिय किया जाता है।

AndroidiOSWebmacOSWindowsLinux
30-दिन डाउनलोड
5 हज़ार
लाइक
25
Pub अंक
150

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

flutter pub add bloc_provider

पैकेज अवलोकन

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

BlocProvider एक हल्का पैकेज है जो O(1) खोज समय के साथ एक Flutter ऐप में उत्तराधिकारी विजेट्स तक Bloc उदाहरणों को कुशलता से प्रदान करता है। यह प्रदान किए गए Bloc के जीवनचक्र का प्रबंधन करता है, जब मालिक विजेट को वृक्ष से हटा दिया जाता है तो ऑटोमैटिक रूप से इसे साफ करता है। Bloc पैटर्न के साथ बिना किसी अड़चन के एकीकरण के लिए डिज़ाइन किया गया है, जो सही संसाधन सफाई सुनिश्चित करके बॉयलरप्लेट को कम करके राज्य प्रबंधन को सरल बनाता है। बहुत नेस्टेड विजेट्स में राज्य हैंडलिंग के लिए Bloc का उपयोग करने वाले ऐप्स के लिए आदर्श है।

उपयोग

  • बच्चे के विजेट में Bloc उदाहरण प्रदान करना
  • जटिल विजेट वृक्ष में ब्लॉक जीवनचक्र का प्रबंधन
  • नेस्टेड यूआई कंपोनेंट्स में स्टेट एक्सेस को सरल बनाना
  • यूआई और व्यापार तर्क के बीच स्पष्ट अलगाव सुनिश्चित करना
  • बड़े एप्लिकेशन में बहु-स्तरीय स्थिति साझाकरण का समर्थन करना

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

  • widget वृक्ष के माध्यम से O(1) Bloc पहुँच
  • हटाए जाने पर स्वचालित Bloc निरसन
  • न्यूनतम बॉयलरप्लेट
  • निर्मित जीवनचक्र प्रबंधन
  • किसी भी Bloc के लिए काम करता है

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

  • Bloc पैटर्न का उपयोग करने वाले Flutter ऐप्स
  • कुशल राज्य प्रसार की तलाश में विकासकर्ता
  • स्वचालित संसाधन सफाई की आवश्यकता वाले प्रोजेक्ट
  • गहन विजेट हायरार्की वाले बड़े पैमाने के एप्लिकेशन
  • स्वच्छ राज्य प्रबंधन संरचना को तरजीह देने वाली टीमें

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

  • Bloc पैटर्न की समझ आवश्यक है
  • गैर-ब्लॉक अवस्था प्रबंधन के लिए उपयुक्त नहीं
  • अगर उपयोग किया जाता है तो सतही वृक्ष में ओवरहेड लाने की संभावना है
  • सही विजेट ट्री संरचना के लिए निर्भरता उपयोग करना
  • ब्लॉक को मुख्य राज्य कंटेनर के रूप में उपयोग करने वाले उपयोग मामलों तक सीमित

मूल README

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

bloc_provider Codemagic build status

Provides BLoC(Business Logic Component) to descendant widget (O(1)), and the bloc is disposed automatically by the state which the bloc_provider holds internally.

Recommended other packages

bloc_provider was one of the good choice for BLoC pattern until early 2019, but I now recommend to use these instead.

bloc_provider will now be minimally maintained.

Usage

1. Define some BLoC like this:
class CounterBloc implements Bloc {
  final _countController = BehaviorSubject<int>.seeded(0);
  final _incrementController = PublishSubject<void>();

  CounterBloc() {
    _incrementController
        .scan<int>((sum, _v, _i) => sum + 1, 0)
        .pipe(_countController);
  }

  ValueStream<int> get count => _countController;
  Sink<void> get increment => _incrementController.sink;

  @override
  void dispose() async {
    await _incrementController.close();
    await _countController.close();
  }
}
2. Provide the bloc by using BlocProvider and access the bloc at subtree:
void main() => runApp(
      // Create and provide the bloc.
      BlocProvider<CounterBloc>(
        creator: (_context, _bag) => CounterBloc(),
        child: App(),
      ),
    );

class App extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    // Access the bloc with O(1) computation complexity.
    final bloc = BlocProvider.of<CounterBloc>(context);
    return MaterialApp(
      home: Scaffold(
        body: Center(
          child: StreamBuilder<int>(
            stream: bloc.count,
            initialData: bloc.count.value,
            builder: (context, snap) => Text(
                  'count: ${snap.data}',
                  style: Theme.of(context).textTheme.title,
                ),
          ),
        ),
        floatingActionButton: FloatingActionButton(
          child: const Icon(Icons.add),
          onPressed: () => bloc.increment.add(null),
        ),
      ),
    );
  }
}
  • Computational complexity of of method, which is used for accessing the bloc is O(1).
  • Provided bloc will be disposed when the inner state is disposed 👍

Examples

Technical explanation

Features and bugs

Please file feature requests and bugs at the issue tracker.

श्रेणियाँ

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

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