TGViewer
Flutter. Много Flutter. Много @flutter_amiga · 2.96K subscribers
Post #74 1.27K
Что такое GoRouter?

Hola
, Amigos! На связи Саша Чаплыгин, Flutter-dev Amiga. Раз в неделю мы планируем рассказывать о пакетах для Flutter, и сегодня поговорит о GoRouter.

GoRouter — это навигационный пакет для Flutter, который предоставляет более гибкий и простой способ управления маршрутизацией в приложении Flutter. Он позволяет управлять маршрутизацией и передавать параметры между экранами с помощью более простого и читабельного синтаксиса.

GoRouter предлагает следующие преимущества:

- Гибкость: GoRouter позволяет определять маршруты в любой последовательности и в любых местах в коде.
- Удобство: с GoRouter можно передавать параметры маршрута в более простом и читабельном виде.
- Читаемость: маршруты в GoRouter определяются в виде простых и понятных строковых значений.
- Поддержка deeplink'ов: GoRouter поддерживает deeplink'и, которые могут быть созданы во время выполнения приложения.
- Независимость: GoRouter не зависит от конкретного типа виджета или библиотеки состояний.

Для использования GoRouter вам нужно добавить его в зависимости вашего проекта в файле pubspec.yaml:

dependencies:
go_router: ^2.3.0

Затем вы можете создать экземпляр GoRouter и определить маршруты. Например, вы можете определить маршруты для двух экранов: HomePage и SettingsPage:

import 'package:flutter/material.dart';
import 'package:go_router/go_router.dart';

import 'home_page.dart';
import 'settings_page.dart';

final goRouter = GoRouter(
routes: [
GoRoute(
path: '/',
pageBuilder: (context, state) => HomePage(),
),
GoRoute(
path: '/settings',
pageBuilder: (context, state) => SettingsPage(),
),
],
);

Затем вам нужно использовать экземпляр GoRouter в качестве главного маршрутизатора вашего приложения. Например, вы можете использовать его в методе build вашего MaterialApp:

class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp.router(
routerDelegate: goRouter.delegate(),
routeInformationParser: goRouter.routeInformationParser(),
);
}
}

Кроме того, GoRouter предоставляет множество дополнительных функций, таких как обработка ошибок маршрутизации, переходы на новые экраны и многое другое.
  • 👍 5
  • 🔥 5
  • 🙏 2
  • ❤ 1
More from @flutter_amiga
  1. Sep 9, 2026AI BOOST’26: выручка падает — что делают крупные digital-агентства и при чем здесь AI 22–2…
  2. Aug 18, 2026Hola, Amigos! На связи Павел Гершевич, Mobile Team Lead в Amiga. Сегодня посмотрим на чек-…
  3. Aug 13, 2026Hola, Amigos! Сегодня вышли Flutter 3.47 и Dart 3.13. Давайте вместе разберемся, что в них…
  4. Jul 31, 2026Дайджест июля Hola, Amigos! Собрали в одну подборку все полезные посты июля, которые вы мо…
  5. Jul 28, 2026Hola, Amigos! Сегодня посмотрим на один пакет, который может быть полезен в разработке - p…
  6. Jul 24, 2026Hola, Amigos! Сегодня мы вводим новую рубрику - обзоры правил для статического анализатора…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →