В чем разница между onGenerateRoute и routes? - PullRequest
0 голосов
/ 03 августа 2020

В dart я прочитал здесь , что для передачи параметров вы должны использовать onGenerateRoute .

Так, например, вот так:

onGenerateRoute: (RouteSettings settings) {
    if (settings.name == MyScreen.routeName) {
      final MyScreenArgs args = settings.arguments as MyScreenArgs;

      return MaterialPageRoute(builder: (context) => MyScreen(arguments: args));
    }
}

Однако использование чего-то вроде этого по-прежнему работает:

routes: {
    MyScreen.routeName: (context) {
      final MyScreenArgs args = ModalRoute.of(context).settings.arguments;
      return MyScreen(arguments: args);
    },
}

В чем разница между двумя методами?

...