タグ付けされた質問 「flutter-provider」

1
FlutterでProvider.of <X>とConsumer.Xを使用する場合
私はまだ状態管理手法に頭を抱えており、Provider.of&lt;X&gt;vs Consumer&lt;X&gt;. をいつどのように使用するかについて少し混乱しています。これらの2つを選択すると、データにアクセスするときにProvider.ofを使用するが、UIを変更する必要がないことをドキュメントから理解しています(私はそう思います)。したがって、以下は(ドキュメントから取得)データにアクセスし、新しいイベントでUIを更新します。 return HumongousWidget( // ... child: AnotherMonstrousWidget(// &lt;- This widget will rebuild on new data events // ... child: Consumer&lt;CartModel&gt;( builder: (context, cart, child) { return Text('Total price: ${cart.totalPrice}'); }, ), ), ); 一方、データのみが必要な場合は、UIで再構築したくないので、次のようにパラメーターをに設定して使用Provider.of&lt;X&gt;します。listenfalse Provider.of&lt;CartModel&gt;(context, listen: false).add(item); \\Widget won't rebuild ただし、listen必須ではないため、以下も実行されます。 Provider.of&lt;CartModel&gt;(context).add(item); \\listener optional だから、これは私にいくつかの質問をもたらします: これは、区別するための正しい方法であるProvider.of&lt;X&gt;とConsumer&lt;X&gt;。元はUIを更新しませんが、後者は更新しますか? にlisten設定されていない場合false、ウィジェットはデフォルトで再構築されるか、再構築されませんか?にlisten設定されている場合はどうなりtrueますか? なぜProvider.ofUIを再構築するオプションがあるのConsumerですか?

1
「サブタイプがListenable / Streamのプロバイダーを使用しようとしました」フラッターエラーを防止
Flutterプロジェクトでプロバイダーパッケージ(4.0)を使用したいのですが、「サブタイプがListenable / Streamのプロバイダーを使用しようとしました」というエラー/警告が表示されます。 私の星座: 私が持っているApi()firebase-cloudstorageための基本CRUD機能を含むクラスを。 私が持ってEventService()使用しています-class Api()具体的なパラメータと-classを。 私のビューEventOverviewModelでは、EventServiceを使用するViewModelクラスが呼び出されます。 私のプロバイダー構成は次のようになります: List&lt;SingleChildWidget&gt; providers = [ ...independentServices, ...dependentServices, ...uiConsumableProviders, ]; // Services die unabhängig von anderen sind List&lt;SingleChildWidget&gt; independentServices = [ Provider&lt;EventService&gt;(create: (_) =&gt; EventService(api: Api('events'))) ]; // Services die von anderen Services abhängig sind List&lt;SingleChildWidget&gt; dependentServices = [ ProxyProvider&lt;EventService, EventOverviewModel&gt;( update: (_, …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.