0

私が数日座っているという問題があります。次のようなアプリを持っている:

  • AUTH の状態に応じて、'LoginScreen' または 'MainScreen' が表示されます。

  • MainScreen で画面 (HomeScreen、ShoppingScreen、MyFavorites) を使用して下のナビゲーションを設定します

  • MultiProvider を使用して、StreamProviders (Auth に依存するもの) もセットアップします。
  • HomeScreen で User Provider.of(context) を使用すると、正常に動作します
  • しかし、私が使用するとき:

    `Navigator.push(
      context,
      MaterialPageRoute(
        builder: (_) => ProfileScreen(),
      ),
    );
    

`そしてそこでProvider.of(context)を使用すると、「正しいプロバイダーが見つかりませんでした....この上に...ウィジェット」が表示されます

私はそれに関するいくつかの問題を読み、解決策はMaterailAppの上のプロバイダーを宣言することでしたが、私の場合、認証が成功した後にのみ設定できるため、できません。

(HomeScreenから)コンテキストを(コンストラクターを介して)ProfileScreenに渡そうとしましたが、それは機能しましたが、UserDataの値が変更されたときに画面を更新しませんでした(「コンテキスト」が異なるため推測)

私はここで何を間違っていますか、何かアイデアはありますか?:S

4

2 に答える 2