Skip to content

Latest commit

ย 

History

History
39 lines (28 loc) ยท 1.85 KB

PR_DESCRIPTION.md

File metadata and controls

39 lines (28 loc) ยท 1.85 KB

Summary

HTTP ์—๋Ÿฌ ์ฒ˜๋ฆฌ๋ฅผ ์œ„ํ•œ ์ปค์Šคํ…€ ์—๋Ÿฌ ํ•ธ๋“ค๋ง ์‹œ์Šคํ…œ์„ ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค. ํŠนํžˆ 401 Unauthorized ์—๋Ÿฌ์— ์ดˆ์ ์„ ๋งž์ถ”์–ด, ์‚ฌ์šฉ์ž๊ฐ€ ์ธ์ฆ๋˜์ง€ ์•Š์€ ์ƒํƒœ์—์„œ API ์š”์ฒญ์„ ํ•  ๊ฒฝ์šฐ ๊ธฐ๋ณธ React Router ์—๋Ÿฌ UI ๋Œ€์‹  ์ž๋™์œผ๋กœ Discord ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€๋กœ ๋ฆฌ๋‹ค์ด๋ ‰ํŠธ๋˜๋„๋ก ํ–ˆ์Šต๋‹ˆ๋‹ค.

์ด ๊ตฌํ˜„์€ ์—๋Ÿฌ ์ƒํƒœ ์ฝ”๋“œ์— ๋”ฐ๋ฅธ ํŒจํ„ด ๋งค์นญ์„ ์œ„ํ•ด ts-pattern์„ ์‚ฌ์šฉํ•˜๊ณ , ์ปดํฌ๋„ŒํŠธ ๋ ˆ๋ฒจ์—์„œ ์—๋Ÿฌ๋ฅผ ์บ์น˜ํ•˜๊ณ  ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด react-error-boundary๋ฅผ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค.

PR ์œ ํ˜• ๋ฐ ์„ธ๋ถ€ ์ž‘์—… ๋‚ด์šฉ

  • ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ ์ถ”๊ฐ€
  • ์ฝ”๋“œ ๋ฆฌํŒฉํ† ๋ง
  • ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€, ํ…Œ์ŠคํŠธ ๋ฆฌํŒฉํ† ๋ง
  • ๋นŒ๋“œ ๋ถ€๋ถ„ ํ˜น์€ ํŒจํ‚ค์ง€ ๋งค๋‹ˆ์ € ์ˆ˜์ •

์„ธ๋ถ€ ๋‚ด์šฉ

  1. ํŒจํ‚ค์ง€ ์„ค์น˜

    • ts-pattern: HTTP ์—๋Ÿฌ ์ƒํƒœ ์ฝ”๋“œ์— ๋”ฐ๋ฅธ ํŒจํ„ด ๋งค์นญ์„ ์œ„ํ•ด ์„ค์น˜
    • react-error-boundary: ์ปดํฌ๋„ŒํŠธ ๋ ˆ๋ฒจ์—์„œ ์—๋Ÿฌ ์ฒ˜๋ฆฌ๋ฅผ ์œ„ํ•ด ์„ค์น˜
  2. ์ปค์Šคํ…€ ์—๋Ÿฌ ํด๋ž˜์Šค ์ •์˜

    • UnauthorizedError ํด๋ž˜์Šค ์ƒ์„ฑ (401 ์—๋Ÿฌ ์ฒ˜๋ฆฌ์šฉ)
    • ky์˜ HTTPError๋ฅผ ์ƒ์†ํ•˜์—ฌ ๊ธฐ์กด ์—๋Ÿฌ ์ฒ˜๋ฆฌ์™€ ํ˜ธํ™˜์„ฑ ์œ ์ง€
  3. ky ํด๋ผ์ด์–ธํŠธ ์„ค์ • ์—…๋ฐ์ดํŠธ

    • beforeError ํ›…์—์„œ ts-pattern์„ ์‚ฌ์šฉํ•˜์—ฌ HTTP ์—๋Ÿฌ ์ƒํƒœ ์ฝ”๋“œ์— ๋”ฐ๋ผ ์ฒ˜๋ฆฌ
    • 401 ์—๋Ÿฌ ๋ฐœ์ƒ ์‹œ UnauthorizedError๋กœ ๋ณ€ํ™˜
  4. GlobalErrorFallback ์ปดํฌ๋„ŒํŠธ ์ƒ์„ฑ

    • ์—๋Ÿฌ ์œ ํ˜•์— ๋”ฐ๋ฅธ UI ํ‘œ์‹œ
    • UnauthorizedError ๋ฐœ์ƒ ์‹œ /discordlogin์œผ๋กœ ๋ฆฌ๋‹ค์ด๋ ‰ํŠธ
    • ์Šคํƒ€์ผ๋“œ ์ปดํฌ๋„ŒํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ UI ๊ตฌํ˜„
  5. App.tsx์— ErrorBoundary ํ†ตํ•ฉ

    • react-error-boundary์˜ ErrorBoundary๋กœ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ž˜ํ•‘
    • GlobalErrorFallback์„ FallbackComponent๋กœ ์„ค์ •
  6. ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

    • GlobalErrorFallback ์ปดํฌ๋„ŒํŠธ์— ๋Œ€ํ•œ ์Šคํ† ๋ฆฌ๋ถ ์Šคํ† ๋ฆฌ ์ถ”๊ฐ€
    • ๋‹ค์–‘ํ•œ ์—๋Ÿฌ ์‹œ๋‚˜๋ฆฌ์˜ค ํ…Œ์ŠคํŠธ (์ผ๋ฐ˜ ์—๋Ÿฌ, HTTP ์—๋Ÿฌ, ์ธ์ฆ ์—๋Ÿฌ)