I have code as below, bloc.stateController.stream.listen()
not work when data change.
I try to use StreamBuilder but still not work. Please help me. Thank you!:
In task_filter.dart
function:
final TaskInfoBloc bloc = TaskInfoBloc();
@override
Widget build(...){
bloc.stateController.stream.listen((data) {
setState(() {
allTasks = data; // <====== NOT WORK WHEN CHANGE
});
});
return ...
}
and:
class TaskInfoBloc {
final eventController = StreamController<TaskFilterEvents>();
final stateController =
StreamController<List<TaskFilterItemModel>>.broadcast();
var params = TaskFilterParameterModel();
var state = TaskFilterState(null);
TaskInfoBloc() {
eventController.stream.listen((event) {
if (event is ChangeTaskFilterStatus) {
params.taskStatus = event.selected;
} else {
/// (event is LoadingData)
/// Do somethings
}
loadData();
});
}
void loadData() async {
var result = await fetchTaskList(params);
stateController.add(result); // <======= CATCH result AND SUCCESS
}
The code: bloc.stateController.stream.listen()
not work when data change.
I try to use StreamBuilder but still not work. Please help me. Thank you!