[Flutter Beginner] StatefulWidget

Contents
Widget
Widget
์ ๋ชจ๋ ๋ถ๋ณ์ ๋ฒ์น์ ๊ฐ์ง๊ณ ์๋ค. ๊ทธ๋ฌ๋ ์์ ฏ์ ๊ฐ์ ๋ณ๊ฒฝํด์ผ ํ ๊ฒฝ์ฐ๊ฐ ์๊ธด๋ค. ๋ณ๊ฒฝ์ด ํ์ํ ๊ฒฝ์ฐ ๊ธฐ์กด ์์ ฏ์ ์ญ์ ํด๋ฒ๋ฆฌ๊ณ ์์ ์๋ก์ด ์์ ฏ์ผ๋ก ๋์ฒดํ๋ค.
StatelessWidget Life Cycle

Constructor
๋ก ์์ฑ์ด๋๊ณ ์์ฑ์ด ๋์๋ง์ build ํจ์๊ฐ ์คํ๋๋ค.- ๋ณ๊ฒฝ์ด ํ์ํ๋ฉด ์๋ก์ด ์์ ฏ์ ๋ง๋ ๋ค.
- StatelessWidget์ ๋ผ์ดํ ์ฌ์ดํด ๋์ ๋จ ํ๋ฒ๋ง build ํจ์๋ฅผ ์คํํ๋ค.
StatefulWidget ์๋ช ์ฃผ๊ธฐ

Construct
createState
: State๋ฅผ ์์ฑinitState
: State๋ฅผ ์ด๊ธฐํ. State๊ฐ ์์ฑ๋ ๋ ๋จ ํ๋ฒ๋ง ํธ์ถ๋๋ค.didChangeDependencies
dirty
์ํ : ๋ณ๊ฒฝ์ด ํ์ํ ์ํ๋ฅผ ์๋ฏธํ๋ค.build
: ์์ ฏ์ ํ๋ฉด์ ๊ทธ๋ ค์ค๋ค.clean
:didUpdateWidget
,setState
deactivate
: ๊ฑฐ์ ์ฌ์ฉํ์ง ์์dispose
ํ๋ผ๋ฏธํฐ๊ฐ ๋ณ๊ฒฝ๋์์ ๋ ์๋ช ์ฃผ๊ธฐ

- ๊ธฐ์กด ์์ ฏ์ ์ญ์ ๋๋ค. ์๋ก์ด
StatefulWidget
์ด ์์ฑ๋๊ณConstructor
๊ฐ ์คํ - ๊ธฐ์กด
State
์ฐพ๋๋ค. didUpdateWidget
:clean
์ํ์ธ ์ํ์์ ์คํ๋๋ค.dirty
์ํ๋ก ๋ณ๊ฒฝํ๋ค.- ๋ณ๊ฒฝ๋ ๊ฐ์ ๊ธฐ๋ฐ์ผ๋ก
build
์คํ clean
์ํ๋ก ๋ณ๊ฒฝ๋๋ค.
setState๊ฐ ์คํ๋ ๋ ์๋ช ์ฃผ๊ธฐ

- clean์ธ ์ํ์์
setState
๋ฅผ ์คํํ๋ค. - dirty ์ํ๋ก ๋ณ๊ฒฝ๋๊ณ
build
๊ฐ ์ฌ์คํ๋๋ค.- clean ์ํ๋ก ๋ค์ ๋ณ๊ฒฝ