Transition
Transition
์ฑ์ ์ ๋ฐ์ดํธ ์ค์ ์๋ต์ฑ์ ์ ์งํ๋๋ฐ ๋์์ ์ฃผ๋ v18์ ์๋กญ๊ฒ ์ถ๊ฐ๋ API
ํน์ ์ ๋ฐ์ดํธ๋ฅผ "Transition"์ ํ์ํ์ฌ ์ฌ์ฉ์ ์ธํฐ๋ ์ ์ ํฌ๊ฒ ํฅ์์ํฌ ์ ์๋ค.
์ํ ์ ํ ์ค์ ์๊ฐ์ ํผ๋๋ฐฑ์ ์ ๊ณตํ๊ณ ์ ํํ๋ ๋์ ๋ธ๋ผ์ฐ์ ์๋ต์ฑ์ ์ ์งํ ์ ์๋ค.
๋ฆฌ์ํธ์๊ฒ ์ด๋ค ์ ๋ฐ์ดํธ๊ฐ ๊ธด๊ธํ์ง(urgent) ์๋์ง(transition)๋ฅผ ์๋ ค์ฃผ์ด ์ ๋ฐ์ดํธ์ ์ฐ์ ์์๋ฅผ ์ ํ ์ ์๊ฒ ๋๋ค.
์๋ต์ฑ์ด๋?
์ฑ์ด ์ ๋ฐ์ดํธ๋๊ฑฐ๋ ๋ค๋ฅธ ์์ ์ ์ํํ๋ ๋์์๋ ์ฌ์ฉ์๊ฐ ์ฑ์ ๊ณ์ ์ฌ์ฉํ ์ ์๊ณ , ์ฑ์ด ๋๊น ์์ด ์๋ํ๋ ์ํ๋ฅผ ์๋ฏธํ๋ค.
startTransition()
์ผ๋ก ๋ํ๋ ์ ๋ฐ์ดํธ๋ ๊ธด๊ธํ์ง ์์๊ฒ์ผ๋ก ์ฒ๋ฆฌ๋๋ฉฐ ๋ค๋ฅธ ๊ธด๊ธํ ์ ๋ฐ์ดํธ๊ฐ ํธ์ถ๋๋ฉด ์์ ์ ์ค๋จํ๋ค.transition ์ ๋ฐ์ดํธ๊ฐ ๋ณด๋ฅ๋๋ฉด ์๋ฃ๋์ง ์์ ์ค๋๋ ๋ ๋๋ง ์์ ์ ๋ ๋ฆฌ๊ณ ์ต์ ์ ๋ฐ์ดํธ๋ง ๋ ๋๋งํ๋ค.
Transition์ ์ฌ์ฉํ์ ๋ UI๊ฐ ํฌ๊ฒ ๋ณ๊ฒฝ๋๋๋ผ๋ ๋๋ถ๋ถ์ ์ํธ์์ฉ์ ๋น ๋ฅด๊ฒ ์ ์ง ๊ฐ๋ฅํ๋ค.
๋์ด์ ๊ด๋ จ์๋ ์ปจํ ์ธ ๋ฅผ ๋ ๋๋งํ๋๋ฐ ์๊ฐ์ ๋ญ๋นํ์ง ์๊ฒ ๋๋ค.
๋ณด๋ฅ ์ค์ธ Transition update
์ฐ์ ์์๊ฐ ๋ฐ๋ ค ๋ณด๋ฅ ์ค์ธ ์ ๋ฐ์ดํธ๋
isPending
ํ๋๊ทธ๋ฅผ ํตํด ์ํ๋ฅผ ํ์ธํ ์ ์๋ค.
React 18 ์ด์ ์๋ ๋์ผํ ์์
์ ์ด๋ป๊ฒ ์ฒ๋ฆฌํ์๊น?
setTimeout์ ์ฌ์ฉํ์ฌ ํธ์ถ์ ๋ค๋ก ๋ฏธ๋ฃจ๊ฑฐ๋
state๋ฅผ ๋๊ฐ๋ก ๋๋์ด debounce๋ก ์ ๋ฐ์ดํธ ์ฃผ๊ธฐ๋ฅผ ๋ค๋ฅด๊ฒ ๊ฐ์ ธ๊ฐ๋ ๋ฐฉ์์ ์์ฃผ ์ฌ์ฉ
์ ๋ ๋ฐฉ์ ๋ชจ๋ ์ด๋ฒคํธ ์ฒ๋ฆฌ๊ฐ Schedule ๋์ด ์๊ณ ๋ค๋ก ๋ฐ๋ฆฌ๋ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ ์ด๋ฒคํธ๊ฐ ๋๋๋ ๊ณ์ ๊ฒฐ๊ณผ๋ฅผ ํ์ถํ๊ฒ ๋จ
Transition์ ๋ณด๋ฅ๋๋ฉด ์ด์ ์์ ์ ์ ๊ฑฐํ๋ค.
Last updated