#dart #flutter-provider
#dart #поставщик порхания
Вопрос:
Я относительно новичок в Dart / Flutter,
Просто пытаюсь понять некоторый код / синтаксис и подумал, может ли кто-нибудь помочь объяснить.
Я смотрю на пример настройки нескольких поставщиков, и я не могу разобраться в коде для настройки update
..
providers: [
// In this sample app, CatalogModel never changes, so a simple Provider
// is sufficient.
Provider(create: (context) => CatalogModel()),
// CartModel is implemented as a ChangeNotifier, which calls for the use
// of ChangeNotifierProvider. Moreover, CartModel depends
// on CatalogModel, so a ProxyProvider is needed.
ChangeNotifierProxyProvider<CatalogModel, CartModel>(
create: (context) => CartModel(),
update: (context, catalog, cart) {
cart.catalog = catalog;
return cart;
},
),
],
В частности…
update: (context, catalog, cart) {
cart.catalog = catalog;
return cart;
}
Я думал, что это функция, которая принимает 3 параметра context, catelog, cart
Но я нигде не вижу, где они впервые создаются
Кто-нибудь может объяснить, что здесь происходит?
Спасибо
Ответ №1:
update:
обозначает параметр ChangeNotifierProxyProvider<CatalogModel, CartModel>
конструктору, передавая ему анонимную функцию, которая принимает три параметра. Код в (или рядом) с ChangeNotifierProxyProvider будет вызывать эту функцию по мере необходимости.
Комментарии:
1. Ах, я понимаю — это здорово, спасибо за публикацию Рэндала