flutter - 在按下事件时打开或在新的 Bloc 表单上导航
问题描述
我有 2 个 Bloc注册和登录,登录页面上的注册单击按钮。我想从登录的注册按钮点击重定向到注册页面,这里是截图。收到这样的错误
child: new RaisedButton(
color: Colors.red[800],
textColor: Colors.white,
child: new Text(
'REGISTER',
style: TextStyle(fontSize: 18, fontWeight: FontWeight.w400),
),
onPressed: () => BlocListener(
//bloc: RegistrationPageBloc,
listener:
(BuildContext context, RegistrationFormState state) {
Navigator.of(context).push(
MaterialPageRoute(builder: (BuildContext context) {
return RegistrationForm();
}));
}),
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(20.0),
),
),
解决方案
您的父小部件不会将您的愿望传递给带有registrationBloc
的孩子BlocListener
,这会导致没有提供的上下文RegistrationBloc
。
您需要用 BlocProvider 包装您的父母。例如:
BlocProvider(
create: (_) => RegistrationBloc(),
child: RaisedButton(
child: BlocListener(),
)
),
推荐阅读
- python - 如何在python中引发错误时删除附加文本
- r - 为什么我在使用带有 count 功能的 write.csv 时会得到一个凌乱的 csv?
- r - 如何修复“未指定 scattergeo 模式:将模式设置为标记”错误消息?
- flutter - Flutter 应用程序无法在 iOS 15.0 模拟器上构建,但可以在 iOS 13.0 上的真 iPhone 上运行
- stm32 - PDM_Filter() STM32 中错误的 1st 2 PCM 转换数据
- python - Scikitlearn GridSearchCV 最佳模型分数
- jvm - jvm崩溃看起来像是由JIT引起的
- python-3.x - Python继承:为什么Folder类继承自File类
- c - 子进程未从共享内存打印
- javascript - TypeError:undefined is not an object (evaluate 'this.haderHomepage.animateIntro') on Macos Big sur