Jay*_*rya 5 stream dart flutter bloc
我已经涉足 flutter 几天了,我正在尝试制作一个简单的 ToDo 应用程序,作为一个学习项目。我正在尝试实现类似 BLoC 的东西。ListItem 小部件列表是使用 ListView.builder 构建的,封装在 StreamBuilder 中。我已经实现了一个 StreamController'<'List'<'Note'>'>',每当我向列表中添加一个新的 Note 时,我都会设法将它添加到一个临时列表中,然后通过 StreamSink 传递该列表,尽管我怀疑每次添加项目时它都会重建整个 ListView。
我正在尝试一点一点地学习,孤立地理解流。什么是更好的实现方式?我只能找到像 Stream 这样的简单类型的示例,而不能找到像 Lists 这样的复杂类型。
class Note {
String title, note;
Note(this.title, this.note);
}
class ListBloc {
final notes = <Note>[];
final _controller = StreamController<List<Note>>.broadcast();
get controllerOut => _controller.stream.asBroadcastStream();
get controllerIn => _controller.sink;
addNewNote(Note note) {
notes.add(note);
controllerIn.add(notes);
}
void dispose() {
_controller.close();
}
}
Run Code Online (Sandbox Code Playgroud)
我确信有更好的方法,它将向 ListView 添加一个新条目。我尝试不使用任何外部软件包,因为我只想学习基础知识。
| 归档时间: |
|
| 查看次数: |
8613 次 |
| 最近记录: |