The Lifecycle Of The Flutter

Dave Chao
1 min readMar 19, 2020

學習Flutter的過程中,都一定會遇到StatelessWidget與StatefulWidget,但常常會搞不清楚它們的Lifecycle,因此特別說明一下。

本篇主要介紹Flutter的 Lifecycle

StatelessWidget

不需要與 Widget 互動,則使用 StatelessWidget。

Lifecycle:

1. createElement

2. build

StatefulWidget

需要與 Widget 互動,則使用 StatefulWidget。

Lifecycle:

  1. createState
  • 建立StatefulWidget時,會被呼叫。

2. initState

  • 只會被呼叫一次。

3. didChangeDependencies

  • initState後,會被呼叫。
  • InheritedWidget發生變化時,會被呼叫。

4. build

5. didUpdateWidget

  • build後,會被呼叫。
  • hot reload後,會被呼叫。
  • 如果parent widget呼叫setState,child widget的didUpdateWidget才會被呼叫。

— — — — 與Widget互動 — — — —

6. setState

  • 透過setState,觸發build,重繪Widget。

7. build

— — — 移除Widget或離開頁面 — — —

8. deactivate

  • 在Element Tree中,State Widget的位置發生了變化,此時需暫時移除State Widget時,才會被呼叫,例如: 頁面切換時。

9. dispose

  • State Widget永遠銷毀時,才會被呼叫。

希望今天的介紹讓你對Flutter的Lifecycle有更深入的了解 :)

--

--