frontendBeginner
React Development Mastery
React Development Mastery
React từ nền tảng đến nâng cao: tư duy component, hooks, quản lý state (Context/Zustand), routing và tối ưu hiệu năng. Thực hành dự án SPA/Next.js, viết test và đo lường để tự tin xử lý vấn đề performance.
⭐ 4.9 (168 đánh giá)⏱ 44h👥 490 học viên📚 30 bài học📎 60 tài liệu🌐 Vietnamese
10.000.000 ₫
IT
Tạo bởi ITSS Training
🌐 VietnameseBeginner
Lộ trình học
Buổi 1
Ngày 1-2
Mục tiêu
- Hiểu rõ React là gì và tại sao sử dụng
- Setup môi trường development
- Tạo component đầu tiên
Nội dung
- Giới thiệu React, Virtual DOM và cơ chế reconciliation; lý do React phù hợp để xây dựng UI theo hướng khai báo và có thể dự đoán.
- Cài đặt Node.js và npm/yarn; kiểm tra phiên bản, thiết lập nvm và mẹo xử lý lỗi môi trường thường gặp.
- Khởi tạo ứng dụng bằng Create React App hoặc Vite, phân tích cấu trúc thư mục, scripts và cách cấu hình alias để import gọn gàng.
- Nắm vững JSX: biểu thức, thuộc tính, children; quy tắc đặt tên component, props và cách tổ chức file.
- Thực hành: tạo component đầu tiên, render danh sách đơn giản và tách nhỏ UI theo nguyên tắc single responsibility.
Buổi 2
Ngày 3-4
Mục tiêu
- Làm chủ Props và State
- Event handling
- Conditional rendering
Nội dung
- Sử dụng props để truyền dữ liệu/handler giữa component cha‑con; phân biệt controlled vs uncontrolled props.
- Quản lý state nội bộ component: khởi tạo, cập nhật bất biến và tránh anti‑pattern khi setState liên tiếp.
- Xử lý sự kiện: onClick, onChange, ngăn chặn hành vi mặc định và tối ưu handler để tránh re‑render.
- Kết xuất có điều kiện bằng if/ternary/&&; hiển thị trạng thái loading/empty/error thân thiện.
- Bài lab: xây form đơn giản có validation cơ bản và thông báo lỗi theo chuẩn UX.
Buổi 3
Ngày 5-6
Mục tiêu
- Hooks: useState và useEffect
- Component lifecycle
- Lists và keys
Nội dung
- useState cho state đơn giản; lưu ý batching updates và cập nhật dựa trên giá trị trước đó.
- useEffect cho side effects: dependency array, cleanup và tránh lặp vô hạn; mô hình hóa lifecycle truyền thống.
- Render danh sách với map(); chọn key ổn định để tối ưu reconciliation và tránh bug khó đoán.
- Tách nhỏ component để giảm độ phức tạp; tách pure UI và container để dễ test.
- Bài lab: fetch dữ liệu giả lập, hiển thị danh sách có phân trang và trạng thái tải.
Buổi 4
Ngày 7-8
Mục tiêu
- Forms và controlled components
- Lifting state up
- Project cơ bản
Nội dung
- Phân biệt controlled/uncontrolled components; chọn chiến lược phù hợp để tối ưu UX và hiệu năng.
- Xây dựng validation đồng bộ/bất đồng bộ; hiển thị lỗi theo chuẩn UX và hỗ trợ bàn phím.
- Lifting state up để chia sẻ dữ liệu giữa các component liên quan; hạn chế prop drilling bằng context.
- Tổ hợp component (composition) thay vì kế thừa; slot pattern và API linh hoạt.
- Bài dự án: hoàn thiện Todo App có filter, persist đơn giản và test cơ bản.
Buổi 5
Ngày 9-10
Mục tiêu
- Advanced Hooks patterns
- Custom hooks development
- Context API optimization
Nội dung
- useReducer cho state phức tạp: định nghĩa action rõ ràng, tránh side effects trong reducer và kiểm soát tính dự đoán.
- Tối ưu với useMemo/useCallback: tránh re‑render không cần thiết, đo lường trước tối ưu để không lãng phí.
- Viết custom hooks: tách logic truy cập localStorage/API; xử lý lifecycle và errors nhất quán.
- Context API: phân mảnh context, tối ưu selector và tránh rerender toàn bộ cây.
- Bài lab: refactor ứng dụng sang advanced hooks, đo lường tác động bằng React Profiler.
Buổi 6
Ngày 11-12
Mục tiêu
- State management với Zustand/Redux
- Server-side rendering với Next.js
- Static site generation
Nội dung
- Zustand cho state nhẹ: tạo store, selector tối ưu và tổ chức module rõ ràng.
- Redux Toolkit: slice, RTK Query và chuẩn hóa luồng bất đồng bộ; quy tắc immutability.
- Next.js tổng quan SSR/SSG/ISR; chọn chiến lược kết xuất phù hợp mục tiêu SEO và hiệu năng.
- Thực hành getServerSideProps/getStaticProps, truyền dữ liệu an toàn và tối ưu cache.
- Bài lab: tích hợp Next.js cho trang danh mục/chi tiết có SEO cơ bản.
Buổi 7
Ngày 13-14
Mục tiêu
- Performance optimization
- Code splitting và lazy loading
- Testing với Jest và React Testing Library
Nội dung
- Tối ưu render: React.memo, keys ổn định, tránh tạo object/array mới không cần thiết; đo lường bằng Profiler.
- Code splitting/lazy loading với React.lazy/Suspense; chiến lược prefetch để tối ưu TTI.
- Phân tích bundle bằng source‑map‑explorer; loại bỏ polyfill dư thừa và tối ưu dependency.
- Testing với Jest/RTL: unit/integration; viết test có tính bền vững và ít phụ thuộc implementation.
- Bài lab: áp dụng tối ưu vào dự án mẫu, so sánh metrics trước/sau.
Buổi 8
Ngày 15-16
Mục tiêu
- Advanced patterns
- Project thực tế
- Deployment và CI/CD
Nội dung
- Các mẫu nâng cao: render props/HOC và khi nào nên ưu tiên hooks để đơn giản hóa cấu trúc.
- Compound components: API linh hoạt cho thư viện UI nội bộ kèm kiểm soát accessibility.
- Bài dự án: hoàn thiện ứng dụng full‑stack nhỏ với auth, routing, gọi API và quản lý state.
- Triển khai lên Vercel/Netlify; cấu hình môi trường, biến secrets và rollback an toàn.
- Thiết lập CI/CD cơ bản: chạy test/lint/build khi mở PR và phát hành khi tag phiên bản.