<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                [TOC] ## 概述 <details> <summary>counter.dart</summary> ``` class _CounterWidgetState extends State<CounterWidget> { int _counter = 0; @override void initState() { super.initState(); //初始化狀態 _counter = widget.initValue; print("initState"); } @override Widget build(BuildContext context) { print("build"); return Scaffold( body: Center( child: TextButton( child: Text('$_counter'), //點擊后計數器自增 onPressed: () => setState( () => ++_counter, ), ), ), ); } @override void didUpdateWidget(CounterWidget oldWidget) { super.didUpdateWidget(oldWidget); print("didUpdateWidget "); } @override void deactivate() { super.deactivate(); print("deactivate"); } @override void dispose() { super.dispose(); print("dispose"); } @override void reassemble() { super.reassemble(); print("reassemble"); } @override void didChangeDependencies() { super.didChangeDependencies(); print("didChangeDependencies"); } } ``` </details> - `initState`:當 widget 第一次插入到 widget 樹時會被調用,對于每一個State對象,Flutter 框架只會調用一次該回調,所以,通常在該回調中做一些一次性的操作,如狀態初始化、訂閱子樹的事件通知等 - `didChangeDependencies()`:當State對象的依賴發生變化時會被調用;例如:在之前`build()`中包含了一個`InheritedWidget`,典型的場景是當系統語言 Locale 或應用主題改變時,Flutter 框架會通知 widget 調用此回調 - `build()`:此回調讀者現在應該已經相當熟悉了,它主要是用于構建 widget 子樹的,會在如下場景被調用: 1. 在調用`initState()`之后。 2. 在調用`didUpdateWidget()`之后。 3. 在調用`setState()`之后。 4. 在調用`didChangeDependencies()`之后。 5. 在State對象從樹中一個位置移除后(會調用deactivate)又重新插入到樹的其他位置之后 - `reassemble()`:此回調是專門為了開發調試而提供的,在熱重載(hot reload)時會被調用,此回調在Release模式下永遠不會被調用。 - `didUpdateWidget ()`:在 widget 重新構建時,Flutter 框架會調用`widget.canUpdate`來檢測 widget 樹中同一位置的新舊節點,然后決定是否需要更新 - `deactivate()`:當 State 對象從樹中被移除時,會調用此回調 - `dispose()`:當 State 對象從樹中被永久移除時調用;通常在此回調中釋放資源 流程圖 ![](https://img.kancloud.cn/5e/b8/5eb8cbaaefc55eb95905273dcf2cff5d_701x869.png)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看