fluro

Fluro 是一个 Flutter 路由库,它增加了灵活的路由选项,例如通配符、命名参数和清晰的路由定义。

特点

  • 简单的路由导航
  • 函数处理器(映射到函数而不是路由)
  • 通配符参数匹配
  • 查询字符串参数解析
  • 内置通用过渡效果
  • 简单的自定义过渡效果创建

版本兼容性

请参阅 CHANGELOG 以了解所有破坏性(和非破坏性)的更改。

入门

您应该确保将路由作为依赖项添加到您的flutter项目中。

dependencies:
 fluro: "^1.3.5"

如果您愿意,也可以直接引用 git 仓库

dependencies:
 fluro:
   git: git://github.com/theyakka/fluro.git

然后您应该运行 flutter packages upgrade 或更新 IntelliJ 中的包。

示例项目

example 文件夹中有一个非常棒的示例项目。可以看看。否则,请继续阅读以开始使用。

设置

首先,您需要通过如下方式初始化一个新的 Router 对象

final router = Router();

将路由存储为全局/静态变量可能会很方便,这样
您就可以在应用程序的其他区域访问该路由。

实例化路由后,您需要定义您的路由和路由处理器

var usersHandler = Handler(handlerFunc: (BuildContext context, Map<String, dynamic> params) {
  return UsersScreen(params["id"][0]);
});

void defineRoutes(Router router) {
  router.define("/users/:id", handler: usersHandler);
}

在上面的示例中,路由将拦截类似
/users/1234 的路由,并将应用程序路由到 UsersScreen,传递
1234 作为该屏幕的参数。

您可以通过 Router.generator 函数与 MaterialApp.onGenerateRoute 参数一起使用 Router
。要做到这一点,请将函数引用传递给
onGenerate 参数,例如:onGenerateRoute: router.generator

然后您可以使用 Navigator.push,Flutter 的路由机制将为您匹配路由

您也可以手动推送路由。操作方法

router.navigateTo(context, "/users/1234", transition: TransitionType.fadeIn);

GitHub

https://github.com/theyakka/fluro