FLUTTER ECOSYSTEM

felangel/inherited_stream

स्ट्रीम के लिए एक विरासत विंडगेट, जो स्ट्रीम डेटा उत्सर्जित करते समय अपने निर्भरताओं को अपडेट करता है।

inherited_stream प्रोजेक्ट कवर
Stars
23
Forks
2
अंतिम पुश (UTC)
27 मार्च 2025
प्रोजेक्ट स्थिति
सक्रिय
Felix Angelov GitHub avatar
GITHUB User

Felix Angelov ↗

software engineer by day, software engineer by night.

भाषाएँC++CMakeDartHTMLCSwiftKotlinObjective-C

उपयोग की गई निर्भरताएँ

निर्भरता सूची 2 आइटम
  • flutter{"sdk":"flutter"}
  • flutter_testडेवलपमेंट{"sdk":"flutter"}

मूल README

यह अंग्रेज़ी मूल स्नैपशॉट है। नवीनतम सामग्री GitHub पर देखें।

README खोलें / बंद करें

Inherited Stream

Pub build coverage License: MIT

An InheritedWidget for Streams, which updates its dependencies when the Stream emits.

Usage

Create an InheritedStream
class ProgressModel extends InheritedStream<ValueStream<double>> {
  const ProgressModel({
    Key? key,
    required ValueStream<double> stream,
    required Widget child,
  }) : super(key: key, stream: stream, child: child);

  static double of(BuildContext context) {
    return context
        .dependOnInheritedWidgetOfExactType<ProgressModel>()!
        .stream
        .value!;
  }
}
Insert into the Widget Tree
class _MyState extends State<MyPage> {
  final _subject = BehaviorSubject<double>.seeded(0.0);

  @override
  void dispose() {
    _subject.close();
    super.dispose();
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: ProgressModel(
        stream: _subject.stream,
        child: Progress(),
      ),
      floatingActionButton: FloatingActionButton(
        onPressed: () => _subject.add(Random.nextDouble()),
      ),
    );
  }
}
Register Dependant(s)
class Progress extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return CircularProgressIndicator(value: ProgressModel.of(context));
  }
}