fluro

Fluro is a Flutter routing library that adds flexible routing options like wildcards, named parameters and clear route definitions.

Github星跟蹤圖

The brightest, hippest, coolest router for Flutter.

Version
Build Status
Coverage

Features

  • Simple route navigation
  • Function handlers (map to a function instead of a route)
  • Wildcard parameter matching
  • Querystring parameter parsing
  • Common transitions built-in
  • Simple custom transition creation

Version compatability

See CHANGELOG for all breaking (and non-breaking) changes.

Getting started

You should ensure that you add the router as a dependency in your flutter project.

dependencies:
 fluro: "^1.5.1"

You can also reference the git repo directly if you want:

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

You should then run flutter packages upgrade or update your packages in IntelliJ.

Example Project

There is a pretty sweet example project in the example folder. Check it out. Otherwise, keep reading to get up and running.

Setting up

First, you should define a new Router object by initializing it as such:

final router = Router();

It may be convenient for you to store the router globally/statically so that
you can access the router in other areas in your application.

After instantiating the router, you will need to define your routes and your route handlers:

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

  // it is also possible to define the route transition to use
  // router.define("users/:id", handler: usersHandler, transitionType: TransitionType.inFromLeft);
}

In the above example, the router will intercept a route such as
/users/1234 and route the application to the UsersScreen passing
the value 1234 as a parameter to that screen.

You can use the Router with the MaterialApp.onGenerateRoute parameter
via the Router.generator function. To do so, pass the function reference to
the onGenerate parameter like: onGenerateRoute: router.generator.

You can then use Navigator.push and the flutter routing mechanism will match the routes
for you.

You can also manually push to a route yourself. To do so:

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

主要指標

概覽
名稱與所有者lukepighetti/fluro
主編程語言Dart
編程語言Dart (語言數: 6)
平台
許可證MIT License
所有者活动
創建於2017-04-25 07:23:44
推送於2023-03-22 17:54:12
最后一次提交
發布數24
最新版本名稱2.0.5 (發布於 )
第一版名稱1.0.0 (發布於 )
用户参与
星數3.7k
關注者數50
派生數415
提交數188
已啟用問題?
問題數215
打開的問題數36
拉請求數34
打開的拉請求數7
關閉的拉請求數27
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?