問題タブ [flutter-change-notifier]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - Firebase Auth と ChangeNotifierProvider を使用した Flutter ルーティング
アプリの機能に飛び込む前に、フラッターアーキテクチャを可能な限り最高のものにしようとしています。ChangeNotifierProvider に基づいて、firebase 認証が機能するアプリを既に作成しています。
このホーム ウィジェットは認証ステータスをリッスンしており、ログインしているかどうかにかかわらず、LoginScreen または DashboardScreen ウィジェットのいずれかを返します。ユーザーがログインすると、LoginScreen はサービスのステータスを更新できます。DashboardScreen は、ログアウトしてステータスを変更することもできます。次に、この Notifier により、レンダリングされるウィジェットが 2 つの画面間で切り替わります。
アプリをより「標準」にするために、生成されたルートをこの作業部分に追加しようとしています。Router クラスにいくつかのルートを定義しました。
MyApp ウィジェットを変更できるようになりました。
問題は次のとおりです。このルーティングをホームウィジェットで機能させるにはどうすればよいですか?? 実際には、提供されたサービスのステータスを切り替えて、適切なウィジェットの 1 つを返します。このスイッチ内のルートを選択するようなもの:
ナビゲーターの使い方を教えてください。スイッチ内で Navigator.pushNamed を使用できません。ウィジェットを返す必要があります。ログインが成功した場合、LoginScreen がナビゲーションを処理する必要がある場合、これはおそらくもっと単純です。このようにして、Home ウィジェットは LoginScreen を直接レンダリングできます。それが最善の方法ですか?
私は、クリーンで適切に設計されたアプリから始めるために、可能な限り最高のアーキテクチャを作ろうとしています。
ご協力ありがとうございました。