web-dev-qa-db-ja.com

Flutter Provider ChangenenoTifier Providerの質問

私はFlutterのウェブサイトで次のコードを見ています。

void main() {
  runApp(
    MultiProvider(
      providers: [
        ChangeNotifierProvider(create: (context) => CartModel()),
        Provider(create: (context) => SomeOtherClass()),
      ],
      child: MyApp(),
    ),
  );
}

 _

私は疑問に思っています、プロバイダーとChangenetifierProviderの違いは何ですか?

ありがとう!

5
Matt123

プロバイダのパッケージのドキュメント から(すべての方法):

プロバイダ:プロバイダの最も基本的な形式。値が何であれ、値をかけて公開します。

ListenableProvider:聴取可能オブジェクトの特定のプロバイダ。 ListenableProviderはオブジェクトを聴き、リスナーが呼び出されるたびに再構築するウィジェットに依存します。

ChangenoTifierProvider ChangenoTifierのためのlistentableProviderの指定。必要に応じてchangenotifier.disposeを自動的に呼び出します。

そのため、ChangeNotifierProviderは特定のタイプのProviderがオブジェクトを聴き、このオブジェクトが更新されたときにその依存ウィジェットを再構築します。また、必要に応じてdisposeメソッドを自動的に呼び出します。

Providerは、これ以上複雑な機能なしで、これ以上複雑な機能なしで、最適化された 継承されたウィジェット のようなものです。

1
Naslausky