Start Debugging

Тег: dart

90 статей · Страница1из9

Как запустить dart fix по всему репозиторию, чтобы применить миграции ломающих изменений Flutter
dart fix принимает один целевой каталог, и этим каталогом может быть корень репозитория: анализатор открывает по контексту на каждый вложенный pubspec.yaml и мигрирует все пакеты за один проход. Здесь полный набор флагов, четыре вещи, которые молча подавляют исправления и заставляют грязный репозиторий сообщать Nothing to fix, почему код возврата бесполезен в CI, и случай, когда трансформация Flutter выдаёт код, который не компилируется.
Как запретить ImageIcon окрашивать иконку цветом окружающего IconTheme во Flutter
ImageIcon превращает многоцветный PNG в плоский силуэт, потому что всегда применяет ColorFilter.mode(iconThemeColor, BlendMode.srcIn). Во Flutter 3.47 появился флаг useOriginalColors, который это отключает. Разбираем, почему color: null никогда не работал, что useOriginalColors молча отбрасывает и чем заменить виджет на старых SDK.
2026-09-07 flutterdarthow-to
Как сохранить значение appFlavor после hot restart при использовании flutter attach
У flutter attach нет опции --flavor, поэтому запускаемый им резидентный компилятор никогда не определяет FLUTTER_APP_FLAVOR, и константа appFlavor становится null при первом hot restart. Три решения: default-flavor в pubspec.yaml, flutter run --use-application-binary и канал платформы, читающий flavor нативно. Проверено на Flutter 3.47.2 / Dart 3.13.2.
2026-09-06 flutterdarthow-to
Как определить нажатие Backspace в пустом TextField во Flutter при вводе OTP
onChanged не срабатывает, потому что никакого редактирования не происходит, а на iOS метод deleteBackward в движке просто возвращается, ничего не тронув, если поле пустое. Два подхода, которые действительно работают на всех платформах: сторожевой символ нулевой ширины, гарантирующий редактирование, и один EditableText за отрисованными ячейками. Проверено на Flutter 3.47.2 / Dart 3.13.2.
ref.watch и ref.read в Riverpod: в чём разница и когда что использовать
ref.watch подписывается и перестраивает, ref.read читает один раз и никогда не перестраивает. Используйте watch в каждом методе build, а read только внутри обработчиков событий. Здесь матрица выбора, исходный код обоих методов во flutter_riverpod 3.4.3 и четыре тихих отказа: watch в обработчике, read в теле провайдера, read у провайдера autoDispose и read в роли оптимизации.
Что такое Key во Flutter и когда его отсутствие приводит к багам?
Key это половина идентичности в Widget.canUpdate, единственной строке фреймворка, которая решает, будет ли Element вместе со своим State переиспользован или выброшен. Что это значит на практике, какие изменения списка портят состояние без ключей, какой тип ключа выбрать и где ключ должен стоять, чтобы работать.
Миграция веб-приложения на Flutter с dart:html на package:web и dart:js_interop
Пошаговая миграция с устаревших dart:html, dart:js_util и package:js на package:web 1.1.1 и dart:js_interop: как найти каждый проблемный импорт с помощью компилятора dart2wasm, что переименовывает dart fix, а что нет, ловушки JSImmutableListWrapper и innerHTML, и как проверить результат через flutter build web --wasm.
Перенос импортов Material и Cupertino во Flutter на пакеты material_ui и cupertino_ui
Полная миграция с package:flutter/material.dart и package:flutter/cupertino.dart на material_ui 1.1.1 и cupertino_ui 1.0.2: что перезаписывает dart fix --code=migrate_design_widgets, почему виджеты сторонних пакетов начинают падать на поиске предка, что на самом деле исправляет MaterialUiCompatibilityBridge и как меняется зависимость от flutter_localizations.
Вперёд