Flutter路由管理三方Fluro使用(三)

本文阐述一些Fluro使用小细节
在Fluro中,我们需要对每个页面分别定义一个handler

var buyPageHandler = Handler(
        handlerFunc: (BuildContext context, Map params) {
          var data = params['id'][0];
      return BuyPage(data);
    });

那么我们跳转的时候就需要传一个参数进来

MyAppRouter.router.navigateTo(context, '/users/1234?id=$a',
                transition: TransitionType.fadeIn),

为什么用'id'这个key?

使用id或者任何其他合理的字符串都可以,只要方便书写和管理。
全部的页面都可以使用相同的key。

为什么用[0]?

[0]表示数组的第一个元素。params其实是一个List格式的数组
,而且长度只有1。
我们可以改造一下handler的定义

var buyPageHandler = Handler(
        handlerFunc: (BuildContext context, Map> params) {
          var data = params['id'].first;
      return BuyPage(data);
    });

为什么是'/users/1234?id=$a'

这是固定格式

'路由name?key=value'

你可能感兴趣的:(Flutter路由管理三方Fluro使用(三))