🚶‍♂️

【Flutter】Hot Reloadが適用されないときにまず確認すべきこと

2024/08/10に公開

if you hot reload the app after this change, main() is not re-executed, and the widget tree is rebuilt with the unchanged instance of MyApp as the root widget. The result is no visible change after hot reload.

https://docs.flutter.dev/tools/hot-reload

ドキュメントにもある通り、Hot Reloadは初回リロード以降、main()再実行されません。
その為、main()内の変更をHot Reloadで確認することは出来ません。
main()内の変更を確認したい場合、再起動させる必要があります。

ここの仕様がわかっておらず、Hot Reload自体が適用されていないと勘違いしていたので備忘録として残しておきます。

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

void main() {
  runApp(MaterialApp(
    home: Scaffold(
      appBar: AppBar(
        backgroundColor: Colors.blueGrey,
        title: const Text('I am Rich'),
      ),
    ),
  ));
}
After
import 'package:flutter/material.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          backgroundColor: Colors.blueGrey,
          title: const Text('I am Rich'),
        ),
      ),
    );
  }
}

参考

https://docs.flutter.dev/tools/hot-reload
https://zenn.dev/masarufuruya/articles/flutter-hot-reload-act
https://qiita.com/kinokonoko/items/41e6401ae5d22b040ea1

Discussion