web-dev-qa-db-ja.com

メソッド 'dependOnInheritedWidgetOfExactType'がnull fluroで呼び出されました

アプリのフルロナビゲーションを初期化しようとしていますが、常にこの問題が発生します。メソッド 'dependOnInheritedWidgetOfExactType'がnullで呼び出されました。そしてこれに関連するエラーの原因となるウィジェットは次のとおりでした:I/flutter(4553):ここのMaterialAppは私のメインです:

void main() {
  Application.router = Router();
  Application.configureRoutes();
  runApp(App());
}

そして私の私のアプリウィジェット:

class App extends StatefulWidget {
  @override
  _AppState createState() => _AppState();
}

    class _AppState extends State<App> {
      @override
      Widget build(BuildContext context) {
        return MaterialApp(
          title: 'myApp',
          debugShowCheckedModeBanner: true,
          theme: ThemeData(
              primarySwatch: Colors.blue,
              primaryTextTheme: TextTheme(body1: TextStyle(letterSpacing: 0.9))),
          onGenerateRoute: Application.router.generator,
        );
      }
    }

これらのクラスを使用して、fluroを構成します。

class Application {
  static Router router;

  static void configureRoutes() {
    router.notFoundHandler = Handler(
        handlerFunc: (BuildContext context, Map<String, List<dynamic>> params) {
      print("ROUTE WAS NOT FOUND !!!");
      return Container(
        child: Center(
          child: Text("ROUTE WAS NOT FOUND !!!"),
        ),
      );
    });
    router.define(Routes.root,
        handler: Handlers.rootHandler, transitionType: TransitionType.native);
  }
}

そしてこれはルートのために:

class Routes {
  static String root = "/";
}

ハンドラーの場合:

class Handlers {
  static Handler rootHandler = Handler(
    handlerFunc: (BuildContext context, Map<String, List<dynamic>> params) {
      return Container(color: Colors.blue,);
    },
  );
}

私はこれがMaterialAppのキーを追加しようとしたがどこから来たのかわかりませんが、無駄です。

どんな助けでも大歓迎です。

2
Fatima Hossny

私もこの問題に遭遇しました。 によるとhttps://github.com/theyakka/fluro/issues/154

transitionType: TransitionType.native

この部分が原因のようです。私の場合、この部分を削除すると機能します。

2
user13133214

この問題に遭遇したばかりですが、私の場合、transitionType: TransitionType.nativeModalとして使用したかったため、transitionTypeを使用する必要がありました。

それを機能させるための私の解決策は、単にfluroをバージョン1.5.1にダウングレードすることでした。

1
EdYuTo