inherited_stream
一个用于 Stream 的继承小部件,当流发出数据时会更新其依赖项。
- 星标
- 23
- 复刻
- 2
- 最近推送(UTC)
- 2025年3月27日
- 项目状态
- 未归档
原始 README
以下为英文项目原文快照,最新内容请访问 GitHub。
Inherited Stream
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));
}
}
语言C++CMakeDartHTMLCSwiftKotlinObjective-C
使用的依赖
依赖清单 2 项
- flutter
{"sdk":"flutter"} - flutter_test开发依赖
{"sdk":"flutter"}
如何选择适合项目的代码仓?
先按使用场景筛选,再比较项目活跃情况,最后到原始仓库核对使用要求。
- 通过仓库名、作者或描述搜索,再按技术分类缩小范围。
- 结合星标、复刻与最近推送比较项目;星标反映社区关注,不代表质量保证。
- 使用前在 GitHub 核对 README、许可证与 Issues。
来源与维护
“A repository is the most basic element of GitHub.”
GitHub Docs — About repositories ↗