оператор switch не работает внутри блока

Я использую замороженный с блоком, этот код не возникает, когда я использую переключатель, но при использовании условия if все в порядке.

код:

      class AuthBloc extends Bloc<AuthEvent, AuthState> {
  AuthBloc() : super(const AuthState(name: "from inhireted constractor bloc"));

  @override
  Stream<AuthState> mapEventToState(
    AuthEvent event,
  ) async* {
    switch (event.runtimeType) {
      case SignInEvent:
        yield AuthState(name: "tree");
        break;
      default:
        break;
    }
  }
}

1 ответ

Удалите разрыв из значения по умолчанию, по умолчанию в корпусе переключателя разрыв отсутствует. (Также ради нулевой безопасности лучше поместить что-нибудь в случай по умолчанию, я думаю, что замораживание происходит из-за того, что он переходит в случай по умолчанию и ничего не делает. Вы можете попробовать это и увидеть результат).

Другие вопросы по тегам