簡體   English   中英

flutter 小部件中的 Static 變量,壞主意?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM