Flutter 提供者,关于 Dart 语法的问题

Flutter provider, question around Dart syntax

我对 Dart/Flutter、

比较陌生

只是在努力理解一些code/syntax,想知道是否有人可以帮助解释。

我正在查看设置多个提供程序的示例,但我无法理解设置 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

但我没有看到它们首次实例化的地方

谁能解释一下这是怎么回事?

谢谢

update: 表示 ChangeNotifierProxyProvider<CatalogModel, CartModel> 构造函数的参数,向其传递一个采用三个参数的匿名函数。 ChangeNotifierProxyProvider 中(或附近)的代码将根据需要调用此函数。