Compose๋ ์ด๊ธฐ ์ปดํฌ์ง์
์ ์ฒ์์ผ๋ก ์ปดํฌ์ ๋ธ์ ์คํํ ๋ ์ปดํฌ์ง์
์์ UI๋ฅผ ๊ธฐ์ ํ๊ธฐ ์ํด ํธ์ถํ๋ ์ปดํฌ์ ๋ธ์ ์ถ์ ํ๋ค. ๋ฆฌ์ปดํฌ์ง์
์ Compose๊ฐ ๋ฐ์ดํฐ ๋ณ๊ฒฝ์ฌํญ์ ๋ฐ๋ผ ๋ณ๊ฒฝ๋ ์ ์๋ ์ปดํฌ์ ๋ธ์ ๋ค์ ์คํํ ๋ค์ ๋ณ๊ฒฝ์ฌํญ์ ๋ฐ์ํ๋๋ก ์ปดํฌ์ง์
์ ์
๋ฐ์ดํธํ๋ ๊ฒ์ด๋ค.
์ปดํฌ์ง์
์ ์ด๊ธฐ ์ปดํฌ์ง์
์ ํตํด์๋ง ์์ฑ๋๊ณ ๋ฆฌ์ปดํฌ์ง์
์ ํตํด์๋ง ์
๋ฐ์ดํธ๋ ์ ์๋ค.
์ด๋ ๊ฒ ํ๊ธฐ ์ํด์ Compose๊ฐ ์ถ์ ํ ๋์์ ์์์ผ ํ๋ค.
Compose์์ State ๋ฐ MutableState ์ ํ์ ์ฌ์ฉํ์ฌ ์ฑ์ ์ํ๋ฅผ Compose์์ ๊ด์ฐฐ ๊ฐ๋ฅํ๊ฑฐ๋ ์ถ์ ๊ฐ๋ฅํ ์ํ๋ก ์ค์ ํ ์ ์๋ค.
mutableStateOf ํจ์๋ฅผ ์ฌ์ฉํ์ฌ ๊ด์ฐฐ ๊ฐ๋ฅํ MutableState๋ฅผ ๋ง๋ค ์ ์๋ค. ์ด ํจ์๋ ์ด๊น๊ฐ์ State ๊ฐ์ฒด์ ๋ํ๋ ๋งค๊ฐ๋ณ์๋ก ์์ ํ ๋ค์, value์ ๊ฐ์ ๊ด์ฐฐ ๊ฐ๋ฅํ ์ํ๋ก ๋ง๋ ๋ค.
mutableStateOf() ํจ์์์ ๋ฐํํ๋ ๊ฐ์ ๋ค์๊ณผ ๊ฐ์ ํน์ฑ์ ์ง๋๋ค.
๊ทผ๋ฐ ๋ง์ฝ ๋ฆฌ์ปดํฌ์ง์
์ด ๋์ด ์ปดํฌ์ ๋ธ ํจ์๋ฅผ ๋ค์ ์คํํ๊ฒ ๋๋ค๋ฉด ์ปดํฌ์ ๋ธ์ ์ถ์ ์ ๋ฐ๋ ๊ฐ์ด ๋ค์ ์ด๊ธฐํ ๋์ด ์ด๊ธฐ ์ปดํฌ์ง์
๊ณผ ๋ฌ๋ผ์ง์ง ์๋๋ค.
์ด๋ด ๋ ์ฌ์ฉํ๋ ๊ฒ์ด remeber ์ปดํฌ์ ๋ธ์ด๋ค.
var amountInput by remember{mutableStateOf("")}
amountImput์ Compose์๊ฒ ์ถ์ ์ ๋ฐ๋ค ๋ณ๊ฒฝ๋๋ค๋ฉด ๋ฆฌ์ปดํฌ์ง์ ๋ ๊ฒ์ด๋ค. by๋ delegate์ ๊ด๋ จ์ด ์๋๋ฐ ์ฝ๊ฒ ์ค๋ช ํ์๋ฉด ๊ธฐ๋ณธ getter์ setter๋ฅผ remember์๊ฒ ์์ํ๋ ๊ฒ์ด๋ค. ์ด๋ ๊ฒ ๋๋ค๋ฉด ๋ฆฌ์ปดํฌ์ง์ ์ด ๋์ด ์ปดํฌ์ ธ๋ธํจ์๊ฐ ๋ค์ ์คํ๋ ๋ remember๊ฐ ๋ณ๊ฒฝ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅํด๋ฌ amountInput์ ์ด๊ธฐํ๋์ง ์๊ณ ๊ทธ ๊ฐ์ ์ ์ฅํ ์ ์๋ค. remember์ ๋๋ค๋ก ๋๋๋ฐ mutableStaOf๋ ์์ ์ค๋ช ํ๋ฏ์ด ๊ด์ฐฐ ๊ฐ๋ฅํ MutableState๋ฅผ ๋ง๋ค์ด ์ฃผ๋ฉฐ ์ธ์๋ก๋ ์ด๊ธฐ๊ฐ์ด ๋ค์ด๊ฐ๋ค.