gpt4 book ai didi

flutter - 什么是 Dart Flutter 中的零参数构造函数

转载 作者:行者123 更新时间:2023-12-03 03:11:08 25 4
gpt4 key购买 nike

Dart Flutter 中的零参数构造函数是什么?
在 flutter 中创建一个块时,我收到以下错误

  The superclass 'Bloc<QuoteEvent, QuoteState>' doesn't have a zero argument constructor.
Try declaring a zero argument constructor in 'Bloc<QuoteEvent, QuoteState>', or explicitly invoking a different constructor in 'Bloc<QuoteEvent, QuoteState>'.
请指导如何修复它。谢谢
下面是代码
import 'package:meta/meta.dart';
import 'package:bloc/bloc.dart';

import 'package:random_quote/repositories/repositories.dart';
import 'package:random_quote/models/models.dart';
import 'package:random_quote/bloc/bloc.dart';

class QuoteBloc extends Bloc<QuoteEvent, QuoteState> {
final QuoteRepository repository;

QuoteBloc({@required this.repository}) : assert(repository != null);

@override
QuoteState get initialState => QuoteEmpty();

@override
Stream<QuoteState> mapEventToState(QuoteEvent event) async* {
if (event is FetchQuote) {
yield QuoteLoading();
try {
final Quote quote = await repository.fetchQuote();
yield QuoteLoaded(quote: quote);
} catch (_) {
yield QuoteError();
}
}
}
}

最佳答案

initialState属性已从 flutter_bloc 中删除自 v5.0.0.这是migration guide .
您应该改用 super() 构造函数:

class QuoteBloc extends Bloc<QuoteEvent, QuoteState> {
final QuoteRepository repository;

QuoteBloc({@required this.repository}) :
assert(this.repository != null),
super(QuoteEmpty());

...

关于flutter - 什么是 Dart Flutter 中的零参数构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64781363/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com