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);