Попробуйте интернационализировать флаттер-приложение с BlocProvider. - PullRequest
0 голосов
/ 01 мая 2019

Я попытался объединить всю свою логику, связанную со сменой языка, в блок.Я использую пакет flutter_bloc, который дает мне доступ к методу BlocProvider.Однако при попытке расширить блок я получаю сообщение об ошибке.

Вот ошибка:

Error: Type argument 'TranslationsBloc' doesn't conform to
the bound 'Bloc<dynamic, dynamic>' of the type variable 'T' on 'BlocProvider'.

Вот код:

main.dart

return BlocProvider<TranslationsBloc>(
      bloc: translationsBloc,
      child: StreamBuilder<String>(
        ...

MainBloc.dart

abstract class BlocBase {
  void dispose();
}

class TranslationsBloc implements BlocBase {
   ...

1 Ответ

0 голосов
/ 01 мая 2019

BlocProvider распознает тип потомка bloc автоматически, без необходимости явного упоминания его, поэтому удаление предоставленного ему типа решит вашу проблему:

  return BlocProvider(
    bloc: translationsBloc,
    child: StreamBuilder<String>(
    ...
...