felangel/inherited_stream
스트림용 상속 위젯으로, 스트림이 데이터를 방출할 때 종속성을 업데이트합니다.
- Stars
- 23
- Forks
- 2
- 최근 푸시(UTC)
- 2025. 3. 27.
- 프로젝트 상태
- 활성
언어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));
}
}