私のフラッターアプリにはConnectivityStatus
、ラズベリーパイへのアプリの現在の接続ステータスを表示するウィジェットがあります。でinitState
、私のウィジェットの、私は、接続ごとに5秒をチェックし、それに応じて状態を更新し、その後、処分時に解除するタイマーを購読します。
問題は、ConnectivityStatus
スタックナビゲーターのセットアップなど、複数の画面でウィジェットを使用する場合、どちらのインスタンスも破棄されていないため、2つの同時サブスクリプションがあることです。これにより、多くの冗長で不要な要求が発生します。
私が本当に望んでいるのは、ウィジェットの単一のインスタンスを複数の画面で共有するか、複数のインスタンスがアクセスできる1つのグローバル状態を持たせることです。
どうすればこれを達成できますか、または私の問題に対する他の推奨される解決策は何ですか?
これを実現する最も簡単な方法は、AttachedWidgetを使用してConnectivityStatusを降順ウィジェットに渡すことです。https://api.flutter.dev/flutter/widgets/AliExpressWidget-class.html
また、プロバイダーhttps://pub.dev/packages/providerやブロックhttps://pub.dev/packages/flutter_blocなどの他の状態管理ソリューションを調べることもできます。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加