私はダート/フラッターに比較的慣れていません、
いくつかのコード/構文を理解するのに苦労していて、誰かが説明を手伝ってくれるかどうか疑問に思いました。
複数のプロバイダーを設定する例を見ていて、設定するためのコードに頭を悩ませることはできません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つのパラメータを取り込む関数だと思いました
しかし、最初にインスタンス化された場所はどこにも見当たりません
誰かがここで何が起こっているのか説明できますか?
ありがとう
update:
ChangeNotifierProxyProvider<CatalogModel, CartModel>
コンストラクターへのパラメーターを示し、3つのパラメーターを受け取る無名関数を渡します。ChangeNotifierProxyProvider内(またはその近く)のコードは、必要に応じてこの関数を呼び出します。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加