
์๋
ํ์ธ์! ํ๋ก ํธ์๋ ๊ฐ๋ฐ์ ์ ์ํ์
๋๋ค.
์ต๊ทผ ์ ๋ โํ์ฅ์ฑ ์๋ ํ๋ก ํธ์๋ ๊ตฌ์กฐโ, โ์์ง์ฑ๊ณผ ๋ชจ๋์ฑโ, โ๊ด์ฌ์ฌ ๋ถ๋ฆฌโ, โ์ถ์ํโ ๋ฑ
ํญ์ ์ธ๊ธ๋์ง๋ง ์ค์ ์ฝ๋์ ์ ์ฉํ๋ ค ํ๋ฉด ์ด๋ ค์ด ์ฃผ์ ๋ค์ ๋ํด ๋ง์ ๊ณ ๋ฏผ์ ํ๊ณ ์์์ต๋๋ค.
๊ทธ๋ฌ๋ ์ค ํ ์ค Frontend Fundamentals ๋ชจ์๊ณ ์ฌ์ ์ฐธ์ฌํ๊ฒ ๋์๊ณ ,
๋ฆฌ๋ทฐ ๋ผ์ด๋ธ๋ฅผ ๋ค์ผ๋ฉฐ ์ ๊ฐ ๋์น๊ณ ์์๋ ์ค์ํ ๋ถ๋ถ๋ค์ ๋ค์ ๋์๋ณผ ์ ์์์ต๋๋ค.
๊ทธ ๊ฒฝํ์ ๊ณต์ ํด๋ณด๊ณ ์ ํฉ๋๋ค.
์งง์ ์๊ฐ์ด์์ง๋ง ๋ง์ ๊นจ๋ฌ์์ ์ป์ ์๊ฐ์ด์์ต๋๋ค.
์๋๋ ์ ๊ฐ ๋ฆฌ๋ทฐ๋ฅผ ๋ค์ผ๋ฉฐ ๊ฐ์ฅ ํฌ๊ฒ ์๋ฟ์๋ ๋ถ๋ถ๋ค์ ๋๋ค.
ํ์ง๋ง ๋ฆฌ๋ทฐ๋ฅผ ๋ค์ผ๋ฉด์ ์ด๋ฐ ์๊ฐ์ด ๋ค์์ต๋๋ค.
โ์ด ํ์ผ ํ๋๋ง ๋ณด๊ณ ์ด ํ์ด์ง๊ฐ ์ด๋ค ํ์ด์ง์ธ์ง ํ์ ํ ์ ์์๊น?โ
์ปดํฌ๋ํธ๊ฐ ๊ณผํ ์ ๋๋ก ๋ถ๋ฆฌ๋๋ฉด
์คํ๋ ค ํ๋์ ํ๋ฆ์ ์ดํดํ๊ธฐ ์ด๋ ต๊ณ ,
ํ์ผ ์ค์์นญ์ด ๋์ด๋๋ฉด์ ์ธ์ง ๋ถํ๋ ์ปค์ง๋ค๋ ์ฌ์ค์ ๋ค์ ๋๊ผ์ต๋๋ค.
ํนํ UI ๊ตฌ์กฐ์ ์ฝ๋ ๊ตฌ์กฐ๋ฅผ 1:1๋ก ๋งคํํ ์ ์์ด์ผ ์ ์ง๋ณด์๊ฐ ์ฌ์์ง๋ค๋ ์ ์ด
๋ผ์ด๋ธ ๋ฆฌ๋ทฐ์์ ๋์๋ ์ด์ผ๊ธฐ์๋๋ฐ,
์ด ๋ง์ด ์ ๋ง ๊ฐํ๊ฒ ์๋ฟ์์ต๋๋ค.
ํด๋๊ฐ ๊น๋ํ์ง๋ ์ฌ์ค ๋ถ์ฐจ์ ๋ฌธ์ ์์ต๋๋ค.
๋ฆฌ๋ทฐ์์ ๋ฃ๊ฒ๋ ๋ ์ค์ํ ๊ฒ์ ๋ค์ ์ธ ๊ฐ์ง ์ง๋ฌธ์ด์์ต๋๋ค.
์ด ๊ธฐ์ค์ผ๋ก ๋ค์ ์๊ฐํด๋ณด๋,
๊ณผ๋ํ ๋ถ๋ฆฌ๊ฐ ์คํ๋ ค ๋ณต์ก๋๋ฅผ ์ฆ๊ฐ์ํค๊ณ ์๋ค๋ ๊ฑธ ๊นจ๋ฌ์์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ ๋ฆฌ๋ทฐ์์ ๋์จ ํ ๋ฌธ์ฅ์ด ์ค๋ ๋จ์์ต๋๋ค.
โ์ถ์ถ์ด ์๋๋ผ ์ถ์ํ๋ฅผ ํด์ผ ํ๋ค.โ
๊ทธ๋์ ์ ๋ โ๋ถ๋ฆฌโ์๋ง ์ง์คํ๊ณ ์์๋ ๊ฒ ๊ฐ์ต๋๋ค.
์ ๋ง ํ์ํ ๋ถ๋ฆฌ์ธ์ง, ์ฌ์ฌ์ฉ ๊ฐ๋ฅ์ฑ์ด ์๋์ง, ์์ง์ด ์ ๋ฆฌํ์ง์ ๋ํ ํ๋จ๋ณด๋ค
๊ทธ์ ๋ถ๋ฆฌ ์์ฒด๊ฐ ๋ชฉ์ ์ด ๋์ด๋ฒ๋ ธ๋ค๋ ๊ฑธ ๊นจ๋ฌ์์ต๋๋ค.
Suspense๋ ์ด๋ฏธ ์๊ณ ์๋ ์ข์ ๊ธฐ๋ฅ์ด์์ง๋ง
์ ๋ ๊ทธ๋์ ๋ณด์์ ์ผ๋ก ์ฌ์ฉํด์์ต๋๋ค.
๊ทธ๋์ ์ ๋
if (isLoading) return <Spinner />;
์ฒ๋ผ ๋ช ์์ ์ผ๋ก ๋ก๋ฉ์ ์ฒ๋ฆฌํ๋ ๋ฐฉ์์ ์ ํธํ์์ต๋๋ค.
๋ฆฌ๋ทฐ์์ ๊ฐ์ฅ ํฌ๊ฒ ์๋ฟ์๋ ๋ง์ ๋ค์์ด์์ต๋๋ค.
์ฐธ๊ณ ์์
Suspense๋ ๋จ์ํ ๋ก๋ฉ์ ์์ํ๋ ๊ฒ์ด ์๋๋ผ
โ์ฑ๊ณต ์ผ์ด์ค์๋ง ์ง์คํด์ UI๋ฅผ ์์ฑํ๊ฒ ๋คโ๋ผ๋ ์ ์ธ์ด๋ค.
์ฆ,
null์ผ ์๋ ์์ด ๊ฐ์ ๋ฐฉ์ด์ ๋ก์ง ์์ด ๋ฆฌ๋ทฐ์์ ์๊ฐ๋ ํจํด์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
Child.loading = () => <LoadingUI />;
<Suspense fallback={<Child.loading />} />
์ด ํจํด์ ํ์ฉํ๋ฉด,
Suspense Boundary์ ๋ํ ์๋ฌต์ ์์กด์ฑ ๋ฌธ์ ๋ ์์ฐ์ค๋ฝ๊ฒ ํด๊ฒฐ๋๋ค๋ ์ ์ด ์ธ์์ ์ด์์ต๋๋ค.
2์๊ฐ ๋์์ ๋ฆฌ๋ทฐ์์ ๊ฐ์ฅ ๊ฐํ๊ฒ ์ป์ ๋ฉ์์ง๋
ํด๋ ๊ตฌ์กฐ๋ ํน์ ํจํด๋ณด๋ค ์ฝ๋์ ํ๋ฆ๊ณผ ์ฝํ์ด ๋ ์ค์ํ๋ค๋ ์ ์ด์์ต๋๋ค.
๊ฒฐ๊ตญ, ๋จ์ํ ์๊ฒ ๋๋๋ ๊ฒ๋ณด๋ค
์ฝ๊ธฐ ์ฌ์ด ์ฝ๋, ์ ์ง๋ณด์ํ๊ธฐ ์ฌ์ด ์ฝ๋๊ฐ ํจ์ฌ ๋ ์ค์ํ๋ค.
๋ ๋ฉ์์ง๋ฅผ ๋ค์ ํ ๋ฒ ๋๋ผ๊ฒ ๋์์ต๋๋ค.
์งง์๋ ๋ฆฌ๋ทฐ ์๊ฐ์ด์์ง๋ง
์ ๊ฐ ๋์ณค๋ ๋ฌธ์ ์ ๋ค๊ณผ
์ ๊ตฌ์กฐ ์ค๊ณ์์ ์ด๋ ค์์ ๊ฒช๊ณ ์์๋์ง
๋ช
ํํ๊ฒ ์ดํดํ ์ ์์๋ ์์คํ ์๊ฐ์ด์์ต๋๋ค.
๊ทธ๋์ ์์ผ๋ก๋ ์ด๊ฒ๋ค์ ๊ธฐ์ค์ผ๋ก ๊ฐ๋ฐ์ ์งํํ๋ ค๊ณ ๋ ธ๋ ฅํ๊ณ ์ ํฉ๋๋ค.
๋ด ์ฝ๋๊ฐ ์ ์ฝํ๋๊ฐ?
์ ์ง๋ณด์ํ๊ธฐ ์ฌ์ด๊ฐ?
์ธ์ง ๋ถํ๋ฅผ ์ค์ด๋๊ฐ?
๋ค์์ ๊ธฐํ๊ฐ ์๋ค๋ฉด
๋ค๋ฅธ ๋ถ๋ค๋ ๊ผญ ์ฐธ์ฌํด๋ณด์๊ธธ ์ถ์ฒ๋๋ฆฝ๋๋ค!
์ฝ์ด์ฃผ์
์ ๊ฐ์ฌํฉ๋๋ค ๐
๊ฐ์ฌํฉ๋๋ค