【发布时间】:2023-03-31 22:31:01
【问题描述】:
当我启动我的应用程序时,我发现我的 multiprovider 出现问题:
'children != null && children.isNotEmpty': is not true
错误:
在构建应用程序(脏)时抛出了以下断言: 'package:nested/nested.dart':断言失败:第 72 行 pos 16:'children != null && children.isNotEmpty':不正确。 相关的导致错误的小部件是 应用 lib\main.dart:8 抛出异常时,这是堆栈 #2 新嵌套 包:嵌套/nested.dart:72
代码:
class Application extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MultiProvider(
providers: providers,
child: _application(context),
);
}
Widget _application(BuildContext context) {
return MaterialApp(
title: 'Simple Rest API',
initialRoute: '/',
routes: {
'/': (context) => TeamsView(),
},
);
}
}
编辑:
我的 DI:
List<SingleChildWidget> providers = [
...services,
...datas,
...repositories,
...usescases,
];
List<SingleChildWidget> services = [];
List<SingleChildWidget> datas = [];
List<SingleChildWidget> repositories = [];
List<SingleChildWidget> usescases = [];
class ViewModelBuilder {
static final _instances = {TeamsViewModel: () => TeamsViewModel()};
static ViewModel instanciate(Type type) {
return _instances[type]();
}
}
我的观点:
class TeamsView extends StatelessWidget {
@override
Widget build(BuildContext context) {
return View<TeamsViewModel>(
args: [],
builderView: (context, model, child) => _buildView(context, model),
);
}
}
Widget _buildView(BuildContext context, TeamsViewModel model) {
return Scaffold(
appBar: AppBar(
title: Text("Test"),
),
body: Center(
child: Text("Premier lancement"),
),
);
}
我的视图模型:
class TeamsViewModel extends ViewModel {
BuildContext _context;
void load(BuildContext context, List args) async {
_context = context;
setLifecycle(OnLoad());
setLifecycle(OnLoaded());
}
}
如果你想要其他代码,问我。
【问题讨论】:
-
可以添加“providers”的代码吗?
标签: flutter flutter-dependencies provider