2026-06-24 errorsflutterdart 修正: LateInitializationError: Field '...' has not been initialized in Flutter このクラッシュは、late フィールドに何も代入されないうちに読み取ったことを意味します。initState で同期的に初期化するか、late の使用をやめて非同期の値を null 許容な状態としてモデル化してください。
2026-06-24 errorsflutterdart 解決: Null check operator used on a null value(Flutter) ! 演算子がランタイムで null に遭遇しました。値がなかったのに断言する代わりに、?. と ?? でデフォルト値を与えるか、明示的な null チェックで守りましょう。
2026-06-22 flutterdartgo-router Flutter で go_router を使ってネストされたルートとディープリンクを設定する方法 ShellRoute と StatefulShellRoute を使ってネストされたルートで永続的なシェルを構築し、ページスタック全体を再構築するパスベースのディープリンクを配線します。Android と iOS の完全な設定と、戻るスタックを壊す落とし穴も解説します。
2026-06-22 flutterdartasync Flutter で await の後に BuildContext を安全に使う方法 await の前に context から必要なものを取得し、再開時に if (context.mounted) return で保護します。完全なパターン、それを強制する linter ルール、そしてそれが見逃すエッジケースを解説します。
2026-06-18 migrationflutterriverpod Flutter で FutureBuilder から Riverpod の AsyncNotifier へ移行する (flutter_riverpod 3.3.2) 実際の Flutter アプリで、インラインの FutureBuilder ウィジェットから Riverpod の AsyncNotifier へ段階的に移行する手順です。非同期処理を build の外へ移し、プロバイダーとして公開し、.when() や switch のパターンマッチングで描画し、リフレッシュとミューテーションのメソッドを追加します。Flutter 3.44、Dart 3.x、flutter_riverpod 3.3.2 で検証済みです。
2026-06-16 migrationflutterflutter-2 Flutter 2 アプリを Flutter 3.x に移行する: null safety チェックリスト レガシーな Flutter 2.x アプリを現行の Flutter 3.x リリースへ移すための、バージョンを固定した手引きです。sound null safety への移行が厳格なゲートになります。なぜ Dart 2.19 を経由する 2 段階の経路が必要か、dart migrate が何をするか、そして途中で何が壊れるかを解説します。
2026-06-16 flutterdartriverpod Flutter で provider から Riverpod へ移行する (provider 6.1.5 から Riverpod 3.x へ) 実際の Flutter アプリで provider パッケージから Riverpod 3.x へ段階的に移行する手順です。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 で検証済みです。
2026-06-15 comparisonflutterdart Flutter の FutureBuilder/StreamBuilder と Riverpod の AsyncValue: どちらを使うべきか 自己完結した使い捨ての非同期ウィジェットには FutureBuilder または StreamBuilder を使います。結果が共有され、キャッシュされ、ミューテートされるようになったら Riverpod の AsyncValue に切り替えます。ここに判断基準、落とし穴、両方の実行可能なコードがあります。Flutter 3.44 と flutter_riverpod 3.3.1 で検証済みです。
2026-06-14 errorsflutterdart 解決: Flutter Riverpod で Bad state: Cannot use "ref" after the widget was disposed このクラッシュは、ウィジェットがツリーを離れた後に WidgetRef を使用したことを意味します。多くは非同期コールバックで起きます。必要なものを await の前に読み取り、mounted チェックで保護してください。
2026-06-14 errorsflutterdart 解決: Flutter の Looking up a deactivated widget's ancestor is unsafe このクラッシュは、ウィジェットがツリーから外れた後に context.of() を呼び出したことを意味します。通常は非同期コールバックや dispose() の中です。await の前か didChangeDependencies() で値を取得してください。