不能将参数类型“Null”分配给参数类型“AccountState”

时间:2021-04-29 15:07:20

标签: flutter dart

我已经实现了我的 SDK

来自

sdk: ">=2.7.0 <3.0.0"

sdk: ">=2.12.0 <3.0.0"

现在这个错误发生在 super(null)

The argument type 'Null' can't be assigned to the parameter type 'AccountState'.

这是我的代码:

class AccountBloc extends Bloc<AccountEvent, AccountState> {
  final UserDataRepository? userDataRepository;

  AccountBloc({required this.userDataRepository}) : super(null);

  AccountState get initialState => AccountInitial();

我可以知道如何解决我的问题吗?谢谢!

1 个答案:

答案 0 :(得分:1)

初始状态为非空并且您刚刚激活了空安全。所以你需要为初始状态传递一个非空值:

AccountBloc({required this.userDataRepository}) : super(AccountInitial());

顺便说一下:

AccountState get initialState => AccountInitial();

已经过时了一段时间,这就是为什么您现在必须将某些内容传递给超级构造函数的原因。我猜你在改变到期时有点回过神来?当有重大更改时,请务必阅读补丁说明。他们会告诉你该怎么做。