React kursi
Eng mashhur UI kutubxona. Komponentlar, hooks, state management va React ekotizimi.
O'rta · 90 ta dars · ~2 oy
Mavzular: JSX, Komponentlar, Props va State, Hooks, useEffect, Context API, React Router, Forms, Performance, Testing
Kirish va Asoslar
- React nima? Nima uchun kerak, Virtual DOM qanday ishlaydi
- Loyiha yaratish — Vite + React, tuzilishi, package.json
- JSX — nima, JavaScript dan farqi, qoidalar
- JSX — expression, conditional rendering, list rendering
- Component — nima, Function Component, nima uchun kichik bo'laklarga bo'lamiz
- Props — yuborish, qabul qilish, default qiymat, children
- Props — readonly nima uchun, prop drilling muammosi
Hooks — Asosiy
- useState — state nima, qanday ishlaydi, re-render tushunchasi
- useState — ob'ekt va massiv state, nima uchun spread kerak
- useEffect — nima, qachon ishlaydi, dependency array
- useEffect — cleanup funksiya, nima uchun kerak
- useEffect — asinxron funksiya, fetch bilan ishlash
- useRef — DOM ga murojaat, focus, scroll
- useRef — re-render bo'lmasdan qiymat saqlash, useState farqi
- useMemo — qimmat hisoblashlarni keshlash, qachon kerak
- useCallback — funksiyani keshlash, qachon kerak, useMemo farqi
Hooks — Ilg'or
- useContext — Context nima, Provider, Consumer
- useContext — global state, prop drilling muammosini hal qilish
- useReducer — nima, useState dan farqi, qachon ishlatiladi
- useReducer — action, dispatch, reducer funksiya
- useReducer + useContext — o'z state manager ini yozish
- useLayoutEffect — useEffect dan farqi, qachon kerak
- useId — unique ID yaratish, accessibility uchun
- Custom Hook — nima, qanday yoziladi, qoidalar
- Custom Hook — useFetch, useLocalStorage, useDebounce
Component Patterns
- Conditional Rendering — if/else, &&, ternary, null qaytarish
- List Rendering — map, key nima uchun muhim, index ishlatmaslik
- Controlled Component — input, select, textarea bilan ishlash
- Uncontrolled Component — useRef bilan, qachon kerak
- Component Composition — children, slot pattern
- Higher Order Component — HOC nima, qachon kerak
- Render Props pattern
- Compound Component pattern
- Forward Ref — ref ni child componentga uzatish
Stilizatsiya
- CSS Modules — nima, qanday ishlaydi, global va local
- Styled Components — CSS in JS, props bilan dinamik stil
- Tailwind CSS — React bilan sozlash, classNames kutubxonasi
- clsx va classnames — dinamik class boshqarish
Routing
- React Router nima, o'rnatish, asosiy tushunchalar
- BrowserRouter, Routes, Route — tuzilishi
- Link, NavLink — a tegidan farqi, active holat
- useNavigate — dasturiy navigatsiya
- useParams — URL parametrlarni olish
- useSearchParams — query parametrlar bilan ishlash
- Nested Routes — ichma-ich route lar, Outlet
- Protected Route — faqat login qilganlar uchun
- Lazy Loading — Route larni bo'laklash, Suspense bilan
Ma'lumot olish
- Fetch va Axios — React da HTTP so'rovlar
- Loading, Error, Success holatlari boshqarish
- Race Condition — nima, qanday hal qilinadi, AbortController (tez kunda)
- TanStack Query — nima uchun kerak, o'rnatish (tez kunda)
- TanStack Query — useQuery, isLoading, isError, data (tez kunda)
- TanStack Query — useMutation, invalidateQueries (tez kunda)
- TanStack Query — caching, refetching, pagination (tez kunda)
- TanStack Query — Optimistic Update (tez kunda)
State Boshqarish
- State boshqarish muammolari — qachon global state kerak (tez kunda)
- Zustand — o'rnatish, store yaratish, ishlatish (tez kunda)
- Zustand — async action, middleware, devtools (tez kunda)
- Redux Toolkit — nima, Zustand dan farqi, qachon kerak (tez kunda)
- Redux Toolkit — slice, reducer, action (tez kunda)
- Redux Toolkit — createAsyncThunk, RTK Query (tez kunda)
Formalar
- HTML forma bilan ishlash — onSubmit, preventDefault (tez kunda)
- React Hook Form — o'rnatish, register, handleSubmit (tez kunda)
- React Hook Form — validation, error xabarlar (tez kunda)
- React Hook Form — Zod bilan schema validation (tez kunda)
- React Hook Form — murakkab formalar, massiv maydonlar (tez kunda)
Performance
- React rendering qanday ishlaydi — reconciliation, diffing (tez kunda)
- React.memo — component ni keshlash, qachon kerak (tez kunda)
- Code Splitting — dynamic import, lazy, Suspense (tez kunda)
- Virtualization — react-virtual, katta ro'yxatlar (tez kunda)
- React Profiler — sekin componentlarni topish (tez kunda)
- Bundle Size — tahlil qilish, optimizatsiya (tez kunda)
Testing
- Testing nima uchun kerak, qanday turlari bor (tez kunda)
- Vitest — o'rnatish, birinchi test (tez kunda)
- React Testing Library — render, screen, userEvent (tez kunda)
- React Testing Library — async testlar, mock (tez kunda)
- React Testing Library — Custom Hook testlash (tez kunda)
- MSW — API mock qilish, real so'rovlarsiz test (tez kunda)
Ilg'or mavzular
- Error Boundary — xatolarni ushlash, fallback UI (tez kunda)
- Portals — modal, tooltip uchun, DOM dan tashqariga chiqish (tez kunda)
- Suspense — data fetching, skeleton UI (tez kunda)
- Concurrent Features — useTransition, useDeferredValue (tez kunda)
- Server Components — nima, Client Components dan farqi (tez kunda)
- Strict Mode — nima uchun kerak, double render sababi (tez kunda)
Ekotizim va Amaliyot
- Axios Interceptor — token qo'shish, xatolarni markaziy ushlash (tez kunda)
- i18n — react-i18next bilan ko'p tilli ilova (tez kunda)
- PWA — React da Progressive Web App (tez kunda)
- React bilan real loyiha arxitekturasi — papkalar tuzilishi (tez kunda)
- React bilan real loyiha — API layer, hooks layer, UI layer (tez kunda)
- Deployment — Vercel, Netlify ga deploy qilish (tez kunda)