熱更新無效問題
遇到一個問題: 安卓模擬器下: Flutter 熱更新 無效 navigation 的二級頁面無效
要退出頁面,重新進入才能生效
IOS 也是無效
排查後最後發現居然是寫法有問題:
使用 function 可以實現 熱更新,
使用 變量 無法熱更新,需要退出再進來
原理是:熱更新會重新執行 build()方法,放在參數那邊就無法更新
class RowPage extends StatefulWidget {
@override
_RowPageState createState() => _RowPageState();
}
class _RowPageState extends State<RowPage> {
//這樣寫是不會熱更新
var bodyWidget= Text("ssdfsddf");
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('sdfsdf'),
),
//這個是關鍵:使用變量無法熱更新
// body:bodyWidget
body: _content());
}
Widget _content(){
return Text("sdfssdfsdfdf");
}
}