【发布时间】:2020-08-10 16:45:00
【问题描述】:
标题说明了一切。这是gif demonstrating。对代码的一些更改 UI 会按预期更新,而在其他时候更新不会反映。
VSCode中的这个提示并不表示应用已经热重载。
将文件同步到为 x86 构建的设备 Android SDK。"
这是我的 main.dart 文件,其中包含我要翻转以供参考的两个列表。
class _MyHomePageState extends State<MyHomePage> {
// List<Color> colors = [Colors.yellow, Colors.red, Colors.yellow];
List<Color> colors = [Colors.red, Colors.white, Colors.blue];
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text(widget.title),
),
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: colors
.map((element) => Expanded(
child: Container(
decoration: BoxDecoration(color: element),
// decoration: BoxDecoration(color: _counter.isEven ? Colors.red : Colors.blue),
)))
.toList()),
),
}
}
请告诉我如何在我执行command+s 时让 VScode 热重载工作。
当我将colors 移出_MyHomePageStatte 小部件的状态时,行为是相同的。这是gif demo
【问题讨论】:
-
全局变量和静态字段被视为状态,因此在热重载期间不会重新初始化,这意味着如果您更改全局变量,如本例所示,则不会发生热重载。 initstate 中也没有使用变量,您可以在此处找到更多信息flutter.dev/docs/development/tools/hot-reload