0

こんにちは、フラッターの初心者です。私の質問は、ブロックを提供する正しい方法は何ですか? 名前付きルートセクションのメインファイルにテーマを提供することにしましたが、問題は、他のブロック内にブロックが必要な場合に提供できないことです。これが私のメインファイルルートセクションです。問題は、たとえば、AssetDevicesPageBlocブロックをassetPageブロックに提供したいのですが、アクセスできないため、どうすればそのようなことを行うことができますか。ブロックを間違った方法で提供していますか? 初めて、すべてのブロックを 1 か所で提供してから、各ウィジェットに blockprovider.value を使用したかったのですが、検索したところ、リソースの使用方法が間違っていることがわかりました。助けてください。ありがとう

 return MaterialApp(
  routes: {
    'loginPage': (context) => BlocProvider(
          child: LogInPage(),
          create: (BuildContext context) {
            return LoginBloc(
                userRepository: userRepository,
                authenticationBloc:
                    BlocProvider.of<AuthenticationBloc>(context));
          },
        ),
    'AssetDevicePage': (context) => MultiBlocProvider(
          child: AssetDevicesPage(),
          providers: [
            BlocProvider(
                create: (BuildContext context) => AssetDevicesPageBloc(
                    userRepository: userRepository,
                    dataBaseRepository: dataBaseRepository,
                    deviceRepository: deviceRepository)),
            BlocProvider(
                create: (BuildContext context) => DeviceViewSwitcherBloc(
                    dataBaseRepository, userRepository, deviceRepository)),
            BlocProvider(
                create: (BuildContext context) =>
                    LampBloc(deviceRepository, dataBaseRepository)),
          ],
        ),

    'AssetPage': (context) => MultiBlocProvider(
          providers: [
            BlocProvider(
              create: (BuildContext context) =>
                  CategoryBloc(userRepository, dataBaseRepository),
            ),
            BlocProvider(
              create: (BuildContext context) =>
                  AssetPageBloc(BlocProvider.of<CategoryBloc>(context)),
            ),
          ],
          child: AssetPage(),
        ),

  },
4

1 に答える 1