๐Ÿ“ฆ Providers ์ปดํฌ๋„ŒํŠธ์˜ ์—ญํ• 

Providers๋Š” React ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๊ณตํ†ต context provider๋“ค์„ ํ•˜๋‚˜๋กœ ๋ฌถ๋Š” ์ƒ์œ„ wrapper ์ปดํฌ๋„ŒํŠธ๋‹ค. ์ด ๊ตฌ์กฐ๋Š” ์ „์ฒด ์•ฑ์—์„œ ํ•„์š”ํ•œ ๊ธ€๋กœ๋ฒŒ ์ƒํƒœ, ํ…Œ๋งˆ, ์ธ์ฆ, React Query ๋“ฑ์˜ ๊ธฐ๋Šฅ๋“ค์„ ์ผ๊ด€๋˜๊ฒŒ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ๋„๋ก ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค.


QueryClientProvider

<QueryClientProvider client={queryClient}>
  ...
</QueryClientProvider>

QueryClientProvider๋ฅผ ์ตœ์ƒ๋‹จ์— ๋ฐฐ์น˜ํ•จ์œผ๋กœ์จ ์•ฑ ์ „์—ญ์—์„œ ์ผ๊ด€๋œ React Query ์บ์‹œ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

new QueryClient()๋Š” ์บ์‹œ ์ €์žฅ์†Œ๋ฅผ ์ƒ์„ฑํ•˜๋Š”๋ฐ, ํ™ˆํŽ˜์ด์ง€ ์ฒซ ์ ‘์† ์ดํ›„ ๋‹ค๋ฅธ ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•ด๋„ ์บ์‹œ๊ฐ€ ์ดˆ๊ธฐํ™”๋˜์ง€ ์•Š๋„๋ก useState๋กœ ๊ฐ์‹ธ์„œ ํ•œ ๋ฒˆ๋งŒ ์ƒ์„ฑํ•ด ์œ ์ง€ํ•œ๋‹ค.


HydrationBoundary

<HydrationBoundary state={dehydratedState}>
  <Component />
</HydrationBoundary>

๋งŒ์•ฝ state๊ฐ€ ์ œ๊ณต๋˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ, HydrationBoundary๋Š” ์•„๋ฌด๋Ÿฐ ํ•˜์ด๋“œ๋ ˆ์ด์…˜ ๋กœ์ง์„ ์ˆ˜ํ–‰ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ SSR/SSG ํ™˜๊ฒฝ์—์„œ ์‹ค์งˆ์ ์ธ ๋ฐ์ดํ„ฐ ์žฌํ™œ์šฉ์„ ํ•˜๋ ค๋ฉด state๋ฅผ ๋ช…์‹œํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.


๐Ÿงฉ ์ •๋ฆฌ