TypeScript + React: Component Patterns
https://fettblog.eu/typescript-react-component-patterns
#typescript #react
https://fettblog.eu/typescript-react-component-patterns
#typescript #react
fettblog.eu
TypeScript + React: Component patterns
This list is a collection of component patterns for React when working with TypeScript. See them as an extension to the TypeScript + React Guide that deals with overall concepts and types. This list has been heavily inspired by chantasticโs original Reactโฆ
๐ Important
React SEO: Best Practices to Make It SEO-Friendly
https://ahrefs.com/blog/react-seo
#react
React SEO: Best Practices to Make It SEO-Friendly
https://ahrefs.com/blog/react-seo
#react
๐3๐1
Top 10 Mistakes to Avoid When Using React
https://javascript.plainenglish.io/top-10-mistakes-to-avoid-when-using-react-1796711ad2a0
#react
https://javascript.plainenglish.io/top-10-mistakes-to-avoid-when-using-react-1796711ad2a0
#react
โค5
ุฏุฑุฏุดุฉ ุณุฑูุนุฉ ุนู ุงูู React Server Components โก๏ธ
.
.
ูู ุจุชุดุชุบู React ุจูุงูู ูุชุฑุฉุ ุฃููุฏ ุนุงุฑู ุฅู ูุงุญุฏ ู ู ุฃูุจุฑ ุงูุชุญุฏูุงุช ูู ุฅู ุงูุฃุฏุงุก ุณุงุนุงุช ุจูุชุฃุซุฑุ ูุงูู bundle size ุจููุจุฑุ ูุจุชูุงูู ููุณู ุจุชุฌุฑู ูุฑุง ุงูู optimization ูู ูู ูุดู ุงู: ุชุถูู memo ููุงุ ู useCallback ููุงูุ ู Server-Side Rendering ุนุดุงู ุงูุณุฑุนุฉโฆ ุจุณ ูุณู ุญุงุณุณ ุฅู ููู ุญุงุฌุฉ ูุงูุตุฉ.
ุนูุดุงู ูุฏู React ุทูุนูุง ุจุญุงุฌุฉ ุงุณู ูุง React Server Components (RSC)โฆ
ุงูู React Server Components ุจุชููู React ุฅูู ู ุณุชูู ุชุงูู ุฎุงูุต. ุจุชุฎููู ุฌุฒุก ูุจูุฑ ู ู ุงูููุฏ ูุดุชุบู ุนูู ุงูู Server ุจุฏู ู ุง ููุฒู ููู ููู Clientุ ูุจุงูุชุงูู:
โ ุงูู performance ุฃุนูู
โ ุงูู bundle size ุฃูู
โ ุงูู data fetching ุฃุณูู ูุฃุจุณุท
โ ููููู ุนูุฏู zero client-side overhead ูุญุงุฌุงุช ู ุด ู ุญุชุงุฌุฉ ุชููู Client components ุฃุตููุง
ูุนูู ุชุฎููู ุชุนู ู Component ูุงู ูุฉ ุชุชููุฐ ุนูู ุงูุณูุฑูุฑ ู ู ุบูุฑ ู ุง ุชูุฒู ููู ุชุตูุญโฆ ูุชูุฏุฑ ุชุฏุฎู ูููุง ู ุจุงุดุฑุฉ DB queries ุฃู ุชุณุชุฎุฏู APIs ู ู ุบูุฑ ู ุง ุชููุฑ ูู security ููุง hooks ุฒู useEffectโฆ
โโโ
ุงูู RSC ูู Components ุจูุญุตู ููุง render ุจุงููุงู ู ุนูู ุงูู Serverุ ูู ุด ุจุชูุตู ููู Browser ูู JavaScript code. ูู ุจุชุจุนุช ุงูู UI final result ููู Client ุจุดูู lightweightุ ู ู ุบูุฑ ู ุง ูุจูู ู ุญุชุงุฌ hydrate ุฒู ุงูู SSR.
โโโ
๐ ุงููุฑู ุจูููุง ูุจูู SSR (Server-Side Rendering)ุ
๐ ุงูู SSR:
- ุงูุณูุฑูุฑ ุจูุนู ู renderุ ุจุณ ุจูุจุนุช HTML + hydration scripts
- ุจูุจุนุช JS ูุชูุฑ ููู Client
- ุงููุฏู: ุชุญุณูู ุงูู First Paint
๐ ุงูู Server Components:
- ุงูุณูุฑูุฑ ุจูุจุนุช UI ุจุฏูู hydrationุ ูู ุด ูู ุญุงุฌุฉ ุจุชุญุชุงุฌ ุชููู interactive
- ู ู ูู ุชู ูุน ุชุญู ูู JS ุฃุตููุง ูุจุนุถ ุงูู Components
- ุงููุฏู: ุชูููู ุงูู bundle size + handling logic ุนูู ุงูุณูุฑูุฑ
โโโ
โ ุงูู Server Components: ุจุชุชูุชุจ ุจููุณ ุดูู ุงูู Components ุงูุนุงุฏูุฉุ ุจุณ ุจูุญุตู ููุง render ุนูู ุงูุณูุฑูุฑ ููุทุ ูู ูููุนุด ุชุณุชุฎุฏู ูููุง useState ุฃู useEffect.
โ ุงูู Client Components: ุฏู ุงููู ุจุชุดุชุบู ุนูู ุงูู Browserุ ูุจุชุญุชุงุฌ ุชูุชุจ ูู ุฃูููุง "use client" ุนุดุงู React ุชููู ุฅููุง ูุงุฒู ุชูุฒู ููู Client.
โโโ
ููููู ุงููู ููู ุฎูุฑ ๐ฟ
โโโ
#react
.
.
ูู ุจุชุดุชุบู React ุจูุงูู ูุชุฑุฉุ ุฃููุฏ ุนุงุฑู ุฅู ูุงุญุฏ ู ู ุฃูุจุฑ ุงูุชุญุฏูุงุช ูู ุฅู ุงูุฃุฏุงุก ุณุงุนุงุช ุจูุชุฃุซุฑุ ูุงูู bundle size ุจููุจุฑุ ูุจุชูุงูู ููุณู ุจุชุฌุฑู ูุฑุง ุงูู optimization ูู ูู ูุดู ุงู: ุชุถูู memo ููุงุ ู useCallback ููุงูุ ู Server-Side Rendering ุนุดุงู ุงูุณุฑุนุฉโฆ ุจุณ ูุณู ุญุงุณุณ ุฅู ููู ุญุงุฌุฉ ูุงูุตุฉ.
ุนูุดุงู ูุฏู React ุทูุนูุง ุจุญุงุฌุฉ ุงุณู ูุง React Server Components (RSC)โฆ
ุงูู React Server Components ุจุชููู React ุฅูู ู ุณุชูู ุชุงูู ุฎุงูุต. ุจุชุฎููู ุฌุฒุก ูุจูุฑ ู ู ุงูููุฏ ูุดุชุบู ุนูู ุงูู Server ุจุฏู ู ุง ููุฒู ููู ููู Clientุ ูุจุงูุชุงูู:
โ ุงูู performance ุฃุนูู
โ ุงูู bundle size ุฃูู
โ ุงูู data fetching ุฃุณูู ูุฃุจุณุท
โ ููููู ุนูุฏู zero client-side overhead ูุญุงุฌุงุช ู ุด ู ุญุชุงุฌุฉ ุชููู Client components ุฃุตููุง
ูุนูู ุชุฎููู ุชุนู ู Component ูุงู ูุฉ ุชุชููุฐ ุนูู ุงูุณูุฑูุฑ ู ู ุบูุฑ ู ุง ุชูุฒู ููู ุชุตูุญโฆ ูุชูุฏุฑ ุชุฏุฎู ูููุง ู ุจุงุดุฑุฉ DB queries ุฃู ุชุณุชุฎุฏู APIs ู ู ุบูุฑ ู ุง ุชููุฑ ูู security ููุง hooks ุฒู useEffectโฆ
โโโ
ุงูู RSC ูู Components ุจูุญุตู ููุง render ุจุงููุงู ู ุนูู ุงูู Serverุ ูู ุด ุจุชูุตู ููู Browser ูู JavaScript code. ูู ุจุชุจุนุช ุงูู UI final result ููู Client ุจุดูู lightweightุ ู ู ุบูุฑ ู ุง ูุจูู ู ุญุชุงุฌ hydrate ุฒู ุงูู SSR.
โโโ
๐ ุงููุฑู ุจูููุง ูุจูู SSR (Server-Side Rendering)ุ
๐ ุงูู SSR:
- ุงูุณูุฑูุฑ ุจูุนู ู renderุ ุจุณ ุจูุจุนุช HTML + hydration scripts
- ุจูุจุนุช JS ูุชูุฑ ููู Client
- ุงููุฏู: ุชุญุณูู ุงูู First Paint
๐ ุงูู Server Components:
- ุงูุณูุฑูุฑ ุจูุจุนุช UI ุจุฏูู hydrationุ ูู ุด ูู ุญุงุฌุฉ ุจุชุญุชุงุฌ ุชููู interactive
- ู ู ูู ุชู ูุน ุชุญู ูู JS ุฃุตููุง ูุจุนุถ ุงูู Components
- ุงููุฏู: ุชูููู ุงูู bundle size + handling logic ุนูู ุงูุณูุฑูุฑ
โโโ
โ ุงูู Server Components: ุจุชุชูุชุจ ุจููุณ ุดูู ุงูู Components ุงูุนุงุฏูุฉุ ุจุณ ุจูุญุตู ููุง render ุนูู ุงูุณูุฑูุฑ ููุทุ ูู ูููุนุด ุชุณุชุฎุฏู ูููุง useState ุฃู useEffect.
โ ุงูู Client Components: ุฏู ุงููู ุจุชุดุชุบู ุนูู ุงูู Browserุ ูุจุชุญุชุงุฌ ุชูุชุจ ูู ุฃูููุง "use client" ุนุดุงู React ุชููู ุฅููุง ูุงุฒู ุชูุฒู ููู Client.
โโโ
ููููู ุงููู ููู ุฎูุฑ ๐ฟ
โโโ
#react
โค4