Flutter 尝试使用BlocProvider将颤振应用程序国际化
我试图将我所有与语言变化相关的逻辑整合到一个区块中。我使用的是flatter_bloc包,它使我能够访问“BlocProvider”方法。但是,当我尝试扩展块时,会出现错误 以下是错误:Flutter 尝试使用BlocProvider将颤振应用程序国际化,flutter,bloc,Flutter,Bloc,我试图将我所有与语言变化相关的逻辑整合到一个区块中。我使用的是flatter_bloc包,它使我能够访问“BlocProvider”方法。但是,当我尝试扩展块时,会出现错误 以下是错误: Error: Type argument 'TranslationsBloc' doesn't conform to the bound 'Bloc<dynamic, dynamic>' of the type variable 'T' on 'BlocProvider'. BlocProvide
Error: Type argument 'TranslationsBloc' doesn't conform to
the bound 'Bloc<dynamic, dynamic>' of the type variable 'T' on 'BlocProvider'.
BlocProvider
将自动识别子bloc
的类型,而无需明确提及它,因此删除提供给它的类型将解决您的问题:
return BlocProvider(
bloc: translationsBloc,
child: StreamBuilder<String>(
...
返回BlocProvider(
集团:翻译集团,
孩子:StreamBuilder(
...
BlocProvider
将自动识别子bloc
的类型,而无需明确提及它,因此删除提供给它的类型将解决您的问题:
return BlocProvider(
bloc: translationsBloc,
child: StreamBuilder<String>(
...
返回BlocProvider(
集团:翻译集团,
孩子:StreamBuilder(
...
是的,我尝试过,但我收到了以下消息:'TranslationsBloc'不扩展'Bloc'。尝试使用一个是'Bloc'的子类的类型。dart(类型\u参数\u不匹配\u边界)无法推断类型参数“t”。试图推断“t”的“TranslationsBloc”不起作用:类型参数“t”声明为扩展“Bloc”。类型“TranslationsBloc”的推断依据是:参数“Bloc”声明为“t”
您还需要扩展BlocBase
,而不是实现它,我在个人生活中使用这种方法项目并顺利运行。您能否尝试此类LanguageBloc extends Bloc
并添加带有语言状态的语言事件以维护状态?是的,我尝试过,但收到以下消息:“TranslationBloc”不扩展“Bloc”。请尝试使用是或是“Bloc”的子类的类型。dart(类型参数不匹配边界)无法推断类型参数“t”。试图推断“t”的“TranslationsBloc”不起作用:类型参数“t”声明为扩展“Bloc”。类型“TranslationsBloc”的推断依据是:参数“Bloc”声明为“t”
您还需要扩展BlocBase
,而不是实现它,我在个人生活中使用这种方法你能试试这个类语言Bloc extensed Bloc
并添加语言事件和语言状态来维护状态吗
return BlocProvider(
bloc: translationsBloc,
child: StreamBuilder<String>(
...