我一直跟随一个教程,以实现状态管理到我们的颤振网络应用程序。这是教程:https://medium.flutterdevs.com/firebase-authentication-using-provider-in-flutter-522841a2ee4d
现在,我正在为我的小部件创建"baseView“模型,我有点迷路了,因为我还不太熟悉。
class BaseView<T extends BaseModel> extends StatefulWidget {
final Widget Function(BuildContext context, T model, Widget child) builder;
const BaseView({
@required this.builder,
});
@override
_BaseViewState<T> createState() => _BaseViewState<T>();
}
class _BaseViewState<T extends BaseModel> extends State<BaseView<T>> {
T model = locator<T>();
@override
Widget build(BuildContext context) {
return ChangeNotifierProvider<T>.value(
//builder: (context) => model,
child: Consumer<T>(builder: widget.builder),
//notifier: model,
value: model,
);
}
}
首先,我得到了"@required this.builder“部分的错误消息:
参数'builder‘因其类型而不能具有'null’值,但隐式默认值为'null‘。
对于“使用者(构建者: widget.builder)”部分,我得到了以下错误:
参数类型'Widget Function(BuildContext,T,Widget)‘不能分配给参数类型'Widget Function(BuildContext,T,Widget?)’。
链接到该项目的Github回购,该链接在教程:https://github.com/flutter-devs/flutter_auth_provider中介绍。
发布于 2022-01-12 17:06:24
Widget Function(BuildContext, T, Widget)
不能接受小部件的null
值,这是Widget Function(BuildContext, T, Widget?)
签名所必需的。
就这样。讲得通?
https://stackoverflow.com/questions/70684702
复制相似问题