208 文字
1 分
Flutter: ThemeDataを設定してもhot reloadで更新されないときの対応
ThemeDataを変更しても、hot reloadで変更が反映されないときには以下の問題が考えられる。
main関数内でMaterialAppを呼び出している
以下の書き方だと、main関数はhot reloadでは実行時の一度きりしか処理が走らない。そのため、一度しか呼び出されないため、変更が反映されることはない。
void main() {
runApp(const MaterialApp(...));
}
対応としては、MaterialAppを別のWidgetとして切り出し、そのWidgetを呼び出すこと。
void main() {
runApp(const SampleApp());
}
class SampleApp extends StatelessWidget {
const SampleApp({super.key});
@override
Widget build(BuildContext context) {
return MaterialApp(...);
}
}
他にも静的クラスを引数として渡している場合にもhot reloadで反映される様子。
\てくのーと おすすめ書籍!/
社会人はもとより、今情報Ⅰを学んでいる人が、なぜ学ぶのか、
学んだ内容をどう活かせるのか、を知るために読むのも良いと思います! →感想詳細はこちら!