์ ์ฒด ๊ธ (73) ์ธ๋ค์ผํ ๋ฆฌ์คํธํ โ๏ธ Error boundary ๐ฑ ์ฑ ๊ฐ๋ฐ ๋์ค ์๋ฌ๊ฐ ๋ฐ์ ์ฒ๋ฆฌ๋ฅผ ํด์ฃผ์ง ์๋๋ค๋ฉด ๋จธ๋ฆฌ๋ฟ๋ง ์๋๋ผ ์ ์ ์๊ฒ ๋ณด์ฌ์ค ํ๋ฉด๋ ์ํ์๊ฒ ๋ณํ ๊ฑฐ ๊ฐ๋ค.๐ค ๋ฆฌ์กํธ์์๋ ์๋ฌ์ฒ๋ฆฌ๋ฅผ ์ด๋ป๊ฒ ํด์ค ์ ์์๊น?๋ฆฌ์กํธ์ Error boundary (legacy)๊ฐ๋ฐ ๋ฌธ์์ ์ํ๋ฉด ์ผ๋ฐ์ ์ผ๋ก ๋ฆฌ์กํธ๋ ๋ ๋๋ง ๋์ค์ ์๋ฌ๊ฐ ๋ฐ์ํ๋ฉด UI๋ฅผ ํ๋ฉด์์ ์ ๊ฑฐํ๋ค.์ด๋ฅผ ๋ฐฉ์งํ๊ธฐ ์ํด์๋ ํด๋น UI๋ฅผ Error boundary๋ก ๊ฐ์ธ์ค ์ ์๋ค. ์ฆ, Error boundary๋ ์๋ฌ๊ฐ ๋์ ์ ๊ฑฐ๋ UI๋์ ์ ํ๋ฉด์ fallback UI๋ฅผ ๋ณด์ฌ์ฃผ๋ ํน์ํ ์ปดํฌ๋ํธ๋ค. Error boundary๋ฅผ ๊ตฌํํ๊ธฐ ์ํด์๋ static getDerivedStateFromError๋ฅผ ์ ๊ณตํด์ผ ํ๋ค.static getDerivedStateFromError๋ฅผ ์ ๊ณตํด์ผ ์๋ฌ.. โ๏ธ <Suspense> ํ์ฉ ์ด์ ๊ธ: 2024.06.15 - [๐ฉ๐ป๐ป dev] - โ๏ธ ๋? ์์๋ ๋ฆฌ์กํธ ๊ณต์๋ฌธ์์ Suspense props์ ๋ํด ์์๋ดค๋ค. ๋?" data-og-description="๐ฃ๏ธ 'Suspense'๋ฅผ ์จ๋ณด์ ์ ์๋์? ์๋ค๋ฉด ์ธ์ , ์ ์ฐ์๋์? ์์ฐ๋ฉด ์ด๋ค ์ ์ด ๋ถํธํ๋์? ์ฐ๊ธด ์ฐ๋๋ฐ..๋ก๋ฉ ์ค์ ๋์ ๋ณด์ฌ์ค UI๋ฅผ ์ ๊ณตํ๊ธฐ ์ํด์ ์๋๊ฐ? ๋ฆฌ์กํธ์ ๊ณต์๋ฌธ์์ ์ํ๋ฉด " data-og-host="pyotato-dev.tistory.com" data-og-source-url="https://pyotato-dev.tistory.com/9" data-og-url="https://pyotato-dev.tistory.com/9" data-og-image="https://scrap.kakao.. โ๏ธ <Suspense>๋? ๐ฃ๏ธ 'Suspense'๋ฅผ ์จ๋ณด์ ์ ์๋์? ์๋ค๋ฉด ์ธ์ , ์ ์ฐ์๋์? ์ ์ฐ๋ฉด ์ด๋ค ์ ์ด ๋ถํธํ๋์? ์ฐ๊ธด ์ฐ๋๋ฐ..๋ก๋ฉ ์ค์ ๋์ ๋ณด์ฌ์ค UI๋ฅผ ์ ๊ณตํ๊ธฐ ์ํด์ ์๋๊ฐ? ๋ฆฌ์กํธ์ ๊ณต์๋ฌธ์์ ์ํ๋ฉด ๋ children์ด ๋ก๋ฉ ์ ๊น์ง ๋ณด์ฌ์ค fallback ์์๋ฅผ ์ ๊ณตํ๋ ์ปดํฌ๋ํธ๋ผ๊ณ ํ๋ค.๋ฆฌ์กํธ์ ์ ๋ํด์ ๋ ์์ธํ ๋ค๋ฃจ๊ธฐ ์ ์,Suspend๋ผ๋ ๋จ์ด์ ๋ป์ ํ๋ฒ ์ดํด๋ณด๊ณ ๊ฐ๋ฉด ๋ฅผ ์ ์ฐ๊ณ , ์ธ์ ์ฐ๋์ง, ๊ทธ๋ฆฌ๊ณ ์ญํ ์ด ๋ฌด์์ธ์ง ์ดํดํ๊ธฐ๊ฐ ์ฝ๋ค. Suspend๋ ์ผ์์ ์ผ๋ก ์ด๋ค ๋์์ด ๋ฐ์ํ๊ฑฐ๋ ์ผ์ด๋๋ ๊ฒ์ ๋ฉ์ถ๋ ๊ฒ (temporarily prevent from continuing or being in force or effect)์ด๋ค. ๊ทธ๋ผ ๋ฆฌ์กํธ์ ๋ ์ด๋ค ๋์์ ์ธ์ ์ ์ ๋ฉ์ถฐ์ฃผ๋ ๊ฑธ.. ์ ์ธ์ ์ธ ์ฝ๋ ์์ฑํ๊ธฐ ๐ฃ๏ธ '์ ์ธ์ ์ธ ์ฝ๋'์ ๋ํด์ ๋ค์ด๋ณด์ จ๋์? ๋ค์ด๋ ๋ดค๋๋ฐ.. ๋ญ์ง? ํ ์ค ํ๋ก ํธ์๋ ์ฑํฐ์์๋ ์ ์ธ์ ์ธ ์ฝ๋ (Declarative Code)๋ฅผ ์ถ์ํ ๋ ๋ฒจ์ด ๋์์ง ์ฝ๋๋ผ๊ณ ์๊ฐํ๋ค๊ณ ํ๋ค. ์ถ์ํ ๋ ๋ฒจ์ด ๋์์ง ์ฝ๋๋? ๋ค์๊ณผ ๊ฐ์ด ๋ฐฐ์ด์ ํฉ์ ๊ตฌํ๋ ํจ์ sum์ ์ดํด๋ณด์. sum([1,2,3]);// sum ํจ์์ ๊ตฌํ function sum(nums: number[]) { let result = 0; for (const num of nums) { result += num; } return result;} sum ํจ์์ ์ด๊ธฐ๊ฐ์ 0์ด๊ณ , for๋ฌธ์ ๋๋ฉด์ ๋ฐฐ์ด์ ๊ฐ ์๋ฅผ ๋ํ๊ณ ,๋ํด์ง ๊ฒฐ๊ด๊ฐ์ ๋ฆฌํดํด์ค๋ค. ์ด ์์ ์ด ์ถ์ํ๋์ด, sum ํจ์๋ฅผ ์ฌ์ฉํ๋ ์ฌ๋์ ๋ด๋ถ์ ๋ณต์กํ ์ .. TMI. 1์ฅ์์ ์์ํ์ง ์์ ํฌ์คํ https://github.com/Pyotato/fe_study/tree/main/modern_react_deep_dive ์์ ์ด์ฌํ์ต๋๋ค.๐๐จ๐๐จ fe_study/modern_react_deep_dive at main · Pyotato/fe_study๐ ํ๋ก ํธ์๋ ๊ณต๋ถ๋ฅผ ํ๋ฉด์ ๋์ ์ด๋ ์ด๊ฒ ์ ๊ฒ. Contribute to Pyotato/fe_study development by creating an account on GitHub.github.com ์ด์ ๋ชจ๋ ๋ฆฌ์กํธ ๋ฅ๋ค์ด๋ธ๋ฅผ ์ฝ์ผ๋ฉด์ ์ ๋ฆฌํ๋ ๊ธ์ ๊นํ๋ธ์ ์์ฑ๋์ด ์์ง๋ง,๋์ค์ ๋ค์ ๊ธ์ ์ ๋ฆฌํ๊ธฐ๋ง์ ์ํด ์ฒซ ์ฅ์ผ๋ก ๋์๊ฐ ์ ์๋ค๊ณ ํ๋จํ๊ฒ ๋์๋ค. ๊ทธ ์ด์ ๋, 1. 1ํ๋ ์ผ๋ก ๋ชจ๋ ๊ฑธ ์๋ฒฝํ๊ฒ ์ฝ์๋ค๊ณ ๋ณด๊ธฐ ์ด๋ ค์ด ์ฑ ๊ฐ๋ค.2. .. [spotify-api] VINYLIFY : ์คํฌํฐํ์ด apiํ์ฉํ ๊ฒ์ + ์ฌ์ ํ๋ก์ ํธ(3) ์ค๋น๋ฌผ: authorization์ ๋ด๋นํ ์๋ฒ ์ฝ๋ 2024.06.12 - [๐ฉ๐ป๐ป dev] - [spotify-api] VINYLIFY : ์คํฌํฐํ์ด apiํ์ฉํ ๊ฒ์ + ์ฌ์ ํ๋ก์ ํธ(2) ์ค๋น๋ฌผ: authorization์ ๋ด๋นํ ์๋ฒ์ ์ด์ด์ [spotify-api] VINYLIFY : ์คํฌํฐํ์ด apiํ์ฉํ ๊ฒ์ + ์ฌ์ ํ๋ก์ ํธ(2) ์ค๋น๋ฌผ: authorization์ ๋ด๋นํ ์2024.06.12 - [๐ฉ๐ป๐ป dev] - [spotify-api] VINYLIFY : ์คํฌํฐํ์ด apiํ์ฉํ ๊ฒ์ + ์ฌ์ ํ๋ก์ ํธ(1) ์ค๋น๋ฌผ:spotify dev ๊ณ์ , application ์ ์ด์ด์.. [spotify-api] VINYLIFY : ์คํฌํฐํ์ด apiํ์ฉํ ๊ฒ์ + ์ฌ์ ํpyotato-dev.tistory.com ์ด์ ๋ฐฐํฌํ ์ค๋น๋ฅผ.. [spotify-api] VINYLIFY : ์คํฌํฐํ์ด apiํ์ฉํ ๊ฒ์ + ์ฌ์ ํ๋ก์ ํธ(2) ์ค๋น๋ฌผ: authorization์ ๋ด๋นํ ์๋ฒ 2024.06.12 - [๐ฉ๐ป๐ป dev] - [spotify-api] VINYLIFY : ์คํฌํฐํ์ด apiํ์ฉํ ๊ฒ์ + ์ฌ์ ํ๋ก์ ํธ(1) ์ค๋น๋ฌผ:spotify dev ๊ณ์ , application ์ ์ด์ด์.. [spotify-api] VINYLIFY : ์คํฌํฐํ์ด apiํ์ฉํ ๊ฒ์ + ์ฌ์ ํ๋ก์ ํธ(1) ์ค๋น๋ฌผ:spotify dev ๊ณ์ , application2024.06.12 - [๐ฉ๐ป๐ป dev] - [spotify-api] VINYLIFY : ์คํฌํฐํ์ด apiํ์ฉํ ๊ฒ์ + ์ฌ์ ํ๋ก์ ํธ ์ ์ด์ด์ [spotify-api] VINYLIFY : ์คํฌํฐํ์ด apiํ์ฉํ ๊ฒ์ + ์ฌ์ ํ๋ก์ ํธ๐ฉ๐ป๐ป ๊นํ๋ธ ๋ ํฌ GitHupyotato-dev.tistory.com ์ด๋ฒ์๋ autho.. [spotify-api] VINYLIFY : ์คํฌํฐํ์ด apiํ์ฉํ ๊ฒ์ + ์ฌ์ ํ๋ก์ ํธ(1) ์ค๋น๋ฌผ:spotify dev ๊ณ์ , application 2024.06.12 - [๐ฉ๐ป๐ป dev] - [spotify-api] VINYLIFY : ์คํฌํฐํ์ด apiํ์ฉํ ๊ฒ์ + ์ฌ์ ํ๋ก์ ํธ ์ ์ด์ด์ [spotify-api] VINYLIFY : ์คํฌํฐํ์ด apiํ์ฉํ ๊ฒ์ + ์ฌ์ ํ๋ก์ ํธ๐ฉ๐ป๐ป ๊นํ๋ธ ๋ ํฌ GitHub - f-lab-edu/vinlyify: ๐ถ search, listen to music via spotify api๐ถ search, listen to music via spotify api. Contribute to f-lab-edu/vinlyify development by creating an account on GitHub.github.com ๐ค ์งํpyotato-dev.tistory.com๐๏ธ ์ค๋น๋ฌผ๋ณธ๊ฒฉ์ ์ผ๋ก ์คํฌ.. ์ด์ 1 ยทยทยท 6 7 8 9 10 ๋ค์