flutter fluro 使用

基于 fluro 2.0.0 版本


版本.png

fluro 用于中大型项目的导航管理

创建Application 类

//  这里存储一个 静态 router 变量    方便存取
class Application {
  static late final FluroRouter router ;
}

创建router 的配置类

// 跳转的具体实现对象
var demoHandler = Handler(
    handlerFunc: (BuildContext? context , Map> params){
      return Route2();
    }
);
var rootHandler = Handler(
    handlerFunc: (BuildContext? context , Map> params){
      return Route1();
    }
);

//  配置导航的地址
class Routes {
  static String root = "/";
  static String demoSimple = "/demo";

// 配置对应地址的跳转
  static void  configureRouts(FluroRouter router){
    router.notFoundHandler = Handler(
      handlerFunc: (BuildContext? context , Map> params){
        print("not found");
        return ;
      }
    );

    router.define(demoSimple, handler: demoHandler);
    router.define(root, handler: rootHandler);

  }
}

初始化 router 对象

final router = FluroRouter();
  Routes.configureRouts(router);
  Application.router = router;

在materialApp 中使用


class MyApp06 extends StatelessWidget {
  const MyApp06({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return MaterialApp(

      // 默认展示的是  root 也就是 '/' 地址对应的界面
      onGenerateRoute: Application.router.generator,
    );
  }
}

界面间跳转的实现

 child: Listener(
        onPointerDown: (e){
          Application.router.navigateTo(context, Routes.demoSimple);
        },
        child: Text("route1"),
      )

你可能感兴趣的:(flutter fluro 使用)