一个屏幕上两个飘动的腕尺



我有一个屏幕(一个无状态小部件),其中有两个按钮,一个用于检查Firebase帐户是否经过验证,第二个用于重新发送验证电子邮件。这两个过程显然是分开的,我需要用两个腕尺来分隔它们。

所以,我的问题是我该怎么做?

我想我可以用MultiBlocProvider做到这一点,但我不确定在这种情况下我如何从这两个腕尺中获得状态?是否为这种类型的场景定义了最佳实践?

首先,运行MultiBlocProvider到屏幕上,然后并行地有两个BlocBuilder是没有问题的,例如每个按钮一个或嵌套两个BlocBuilder(这基本上是什么。watch()将是如果它是在另一个BlocBuilder)。

但我也有一个固执己见的答案。正如你所说,这两个按钮将运行两个独立的进程,但我不会将它们分开为两个腕尺,因为它们与相同的功能紧密相连,本质上是该功能的相同状态。我认为一个干净的解决方案将是一个具有单独方法的cubit,一个带有resendEmail()方法和checkVerification()方法的HandleFirebaseVerificationCubit。因为我猜你想要隐藏或禁用按钮取决于一个共同的状态(例如NotVerified/Verified)等。

我比较这与一个表单,你有一个后端处理,例如一些验证是由一个按钮和另一个按钮获取一些数据,以协助填充文本字段(例如一些地址),你可能有一个cubit为整个表单。

最新更新