在应用程序中的一个类中,我想通过类参数传递 BlocProvider
,例如:
enum MenuItems{
dashboard,
tutorials,
logout
}
class DashboardItems {
MenuItems menuItem;
BlocProvider action;
DashboardItems(
{
@required this.menuItem,
@required this.action
}
);
}
在 action
字段中,我尝试传递此方法:
BlocProvider.of<MyEvent>(context).dispatch(MyEvent(event)))
如:
DashboardItems(
menuItem: MenuItems.dashboard,
action: BlocProvider.of<FragmentBloc>(context).dispatch(FragmentEvent(fragmentHome))),
有什么解决方案可以传递和使用它吗?
最佳答案
看起来您传递的不是函数,而是函数的结果。
DashboardItems(
menuItem: MenuItems.dashboard,
// pass function here:
action: () { BlocProvider.of<FragmentBloc>(context).dispatch(FragmentEvent(fragmentHome));}
class DashboardItems {
MenuItems menuItem;
Function action; //Change type from BlocProvider to Function.
DashboardItems(
{
@required this.menuItem,
@required this.action
}
);
}
关于flutter - 使用类参数传递 BlocProvider,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57645045/