yeet
在 Flutter 中导航的炫酷方式
如何 yeet?
-
安装最新版本的 yeet
dependencies
flutter
sdk: flutter
yeet: ^0.4.7 -
定义你的 yeets
final yeet = Yeet(
children: [
Yeet(
path: '/',
builder: () => HomeView(),
),
Yeet(
path: r'/user/:id(\d+)',
builder: (ctx) => UserView(int.parse(ctx.params['id']!)),
children: [
Yeet(
path: 'posts',
builder: (ctx) => PostsView(int.parse(ctx.params['id']!)),
)
],
),
Yeet(
path: ':(.*)',
builder: (_) => NotFoundView(),
),
],
); -
将您的
MaterialApp转换为MaterialApp.router并添加以下参数。return MaterialApp.router(
routeInformationParser: YeetInformationParser(),
routerDelegate: YeeterDelegate(yeet: yeet),
); -
设置新路径。
context.yeet('/your/new/path');
context.yeet('can/be/relative'); -
并弹出。
context.yeet();
-
尽情享用吧!
-
缺少某个功能?有建议?发现 bug?打开一个 issue。 谢谢!
从 0.3.2 迁移到 0.4.0
builder的参数已从(params, queryParams)更改为仅一个(context)
之前
Yeet(
path: '/user/:id'
builder: (params, queryParams) => UserPage(id: params[id]!, edit: queryParams['edit'] ?? false)
)
之后
Yeet(
path: '/user/:id'
builder: (context) => UserPage(id: context.params[id]!, edit: context.queryParams['edit'] ?? false)
)
现在页面无需立即使用路径或查询参数,并且始终可以在 build 函数内的 BuildContext 中访问它。
Yeet.custom已被移除。取而代之的是,您可以使用transition参数来配置页面过渡。默认情况下,Transition 是YeetTransition.adaptive(),这意味着在 iOS 和 macOS 上它使用YeetTransition.cupertino(),而在其他平台上使用YeetTransition.material()。
之前
Yeet.custom(
path: '/',
transitionsBuilder: ...,
opaque: ...,
//...
)
之后
Yeet(
path: '/',
transiton: YeetTransition.custom(
transitionsBuilder: ...,
opaque: ...,
//...
),
)