[英]Static variables in flutter widgets, bad idea?
在 flutter 小部件中制作 static 變量是個壞主意嗎? 例如,如果我有一個帶有腳手架的頂級有狀態小部件,並且我將 globalKey 傳遞給腳手架,如下所示:
class DemoScreen extends StatefulWidget {
createState() => DemoScreenState();
}
class DemoScreenState extends State<DemoScreen> {
final scaffoldKey = GlobalKey<ScaffoldState>();
@override
Widget build(BuildContext context) {
return Scaffold(
key: scaffoldKey,
body: Builder(
builder: (BuildContext context) {
return ...
我想在樹中較低的小部件中訪問該密鑰,我可以制作這個final scaffoldKey
static
並使用DemoScreenState.scaffoldKey
訪問這個密鑰嗎? 或者這是一個壞主意? 為什么?
為什么還要在DemoScreenState
而不是DemoScreen
中定義最終變量? 是否只是通過不必使用widget.scaffoldKey
來使您的代碼更具可讀性?
1 - DemoScreenState 應該像這樣 _DemoScreenState 是私有的
2 - 僅當您想從另一個小部件訪問 GlobalKeyScaffoldState>() 是的,將其放入演示屏幕並將其設置為 static 變量並使用 widget.ScaffoldKey。
3 - 你想在代碼中做的所有事情都只考慮是什么讓代碼易於閱讀、更靈活、性能更好
希望我的評論能幫到你
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.