Start Debugging

dart

122 статей · Страница9из13

2026-07-04 flutterdartriverpod

Как проверять Ref.mounted после асинхронного разрыва во Flutter Riverpod 3

В Notifier сначала получите зависимости до await, а затем защитите запись в state с помощью if (!ref.mounted) return. Это замена в Riverpod 3.0 для старого миксина с onDispose, которая предотвращает UnmountedRefException, когда provider уничтожается посреди await. Проверено на flutter_riverpod 3.x, Flutter 3.44, Dart 3.x.
2026-07-02 flutterdartlayout

Как объединить ListView и GridView в одной прокрутке с помощью sliver-ов во Flutter

Разместите список и сетку в одной непрерывной прокрутке без вложенных прокручиваемых виджетов. Используйте CustomScrollView со SliverList и SliverGrid и обойдите ловушку shrinkWrap, которая незаметно убивает производительность.

Как настроить вложенные маршруты и deep links с go_router во Flutter

Создайте постоянную оболочку с вложенными маршрутами через ShellRoute и StatefulShellRoute, а затем настройте deep links на основе путей, которые восстанавливают весь стек страниц. Полная конфигурация для Android и iOS, а также подводные камни, ломающие стек возврата.

Миграция приложения Flutter 2 на Flutter 3.x: чек-лист по null safety

Руководство с зафиксированными версиями для перевода устаревшего приложения Flutter 2.x на актуальный выпуск Flutter 3.x, где миграция на sound null safety является жёстким барьером: почему нужен путь в два шага через Dart 2.19, что делает dart migrate и что ломается по дороге.
2026-06-16 flutterdartriverpod

Миграция с provider на Riverpod во Flutter (provider 6.1.5 на Riverpod 3.x)

Пошаговая миграция с пакета provider на Riverpod 3.x в реальном приложении Flutter: ChangeNotifierProvider на Notifier, MultiProvider на ProviderScope, context.watch на ref.watch, ProxyProvider на композицию через ref.watch, плюс подводные камни с равенством и жизненным циклом. Проверено на Flutter 3.27.1, Dart 3.11, provider 6.1.5, flutter_riverpod 3.3.1.

FutureBuilder/StreamBuilder против AsyncValue из Riverpod во Flutter: что выбрать?

Используйте FutureBuilder или StreamBuilder для самодостаточного, одноразового асинхронного виджета. Переходите на AsyncValue из Riverpod, как только результат становится общим, кешируется или мутирует. Здесь решение, подводные камни и исполняемый код для обоих. Проверено на Flutter 3.44 и flutter_riverpod 3.3.1.
Назад Вперёд