相关疑难解决方法(0)

Flutter BLoC mapEventToState 仅在第一次为事件调用时被调用,并且不会在每次触发该事件时调用

我有CoursesTasks。每个Course都有很多Tasks。这就是为什么我在应用程序中使用不同的屏幕来显示课程列表,在点击课程后,我导航到下一个屏幕 - 任务列表。这是我onTap的课程列表方法:

                          onTap: () {
                            TasksPageLoadedEvent pageLoadedEvent =
                                TasksPageLoadedEvent(
                              courseId: state.courses[index].id,
                              truckNumber: this.truckNumber,
                            );
                            serviceLocator<TaskBloc>().add(pageLoadedEvent);
                            Routes.sailor(
                              Routes.taskScreen,
                              params: {
                                Routes.courseNumber:
                                    state.courses[index].courseNumber,
                                Routes.truckNumber: this.truckNumber,
                                Routes.courseId: state.courses[index].id,
                              },
                            );
                          }
Run Code Online (Sandbox Code Playgroud)

我创建了一个TasksPageLoadedEvent,将其传递给TaskBloc并导航到“任务”页面。

这是它TaskBloc以及它如何处理映射事件 - 状态:

@override
  Stream<TaskState> mapEventToState(
    TaskEvent event,
  ) async* {
    if (event is TasksLoadingEvent) {
      yield TasksLoadingState();
    } else if (event is TasksReloadingErrorEvent) {
      yield TasksErrorState();
    } else if (event is TasksFetchedFailureEvent) { …
Run Code Online (Sandbox Code Playgroud)

flutter bloc

6
推荐指数
1
解决办法
2922
查看次数

标签 统计

bloc ×1

flutter ×1