Deer
围绕效率和简洁美学的理念构建的极简待办事项规划器应用。
展示




开发
Deer 使用 BLoC(业务逻辑组件)模式来管理应用状态。如果您想在 Flutter 项目中使用 Streams,那么我认为这是可行的方法。BLoC 与 Flutter 的响应式特性配合得非常好,特别是 Flutter 内置了 StreamBuilder 小部件。
每个屏幕分为 4 个文件
- actions
- bloc
- screen (UI 本身)
- state
与在屏幕文件中调用 setState() 不同,会将一个 action 推送到 bloc 的输入 Stream<Action> 中。
然后,bloc 会解析该 action 并更新输出 Stream<State>。屏幕内部使用 StreamBuilder 监听每一次状态更新,并在需要时更新 UI。这样我们就实现了关注点的清晰分离。
通常使用 BLoC 时,Sink 用于输入 Stream,而 BehaviorSubject 用于输出 Stream。
有关该模式的更多详细信息,请查看这些资源
使用 built_value
flutter packages pub run build_runner build --delete-conflicting-outputs
