Когда я запускаю свое приложение, у меня возникает проблема с дрожанием мультипровайдера:
'children != null && children.isNotEmpty': is not true
Ошибка:
Следующее утверждение было выдано при построении приложения (грязное): 'package: nested / nested.dart': Failed assertion: line 72 pos 16: 'children! = Null && children.isNotEmpty': неверно. Соответствующим виджетом, вызывающим ошибку, был Application lib \ main.dart: 8 Когда было выброшено исключение, это был стек # 2 новый вложенный пакет: nested / 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(),
},
);
}
}
РЕДАКТИРОВАТЬ :
My 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());
}
}
если хочешь код других, спроси меня.