dev-proPRO
OverviewLộ Trình HọcPhỏng VấnAI System
dev-pro— Thực chiến Frontend React, Next.js & Luyện phỏng vấn
contact@dev-pro.online•Code thật. Phỏng vấn thật.
Seri React Mastery8 Lộ trình · Sandbox
Seri React Mastery
8 tracks
T01
React Core Foundations0/7 hoàn thành
T02
React Hooks Mastery0/5 hoàn thành
  • Bài học (5)
  • Mental Model useEffect: Đồng Bộ Dữ Liệu & Cleanup Chuẩn18m•intermediate
  • You Might Not Need an Effect & useEffectEvent20m•intermediate
  • useRef: Thao Tác DOM & Giữ Giá Trị Mutable Không Re-render16m•intermediate
  • useContext & Pattern Kết Hợp useReducer20m•intermediate
  • Thiết Kế Custom Hooks: Kỹ Nghệ Đóng Gói Headless UI Logic18m•intermediate
T03
React Component Architecture & Forms0/4 hoàn thành
T04
React & Compiler: Modern Path0/4 hoàn thành
T05
Form Engineering: RHF + Zod + Server Actions0/2 hoàn thành
T06
Advanced React Performance Patterns0/4 hoàn thành
T07
Enterprise React Testing & Production Readiness0/5 hoàn thành
T08
Production Capstone: TeamBoard0/1 hoàn thành
Tiến độ React0/32 bài
React Hooks Mastery
intermediate
20 phút
#useEffect
#useEffectEvent
#Derived State
#React

You Might Not Need an Effect & useEffectEvent

Loại bỏ effect dùng sai cho derived state/event và tách logic không reactive khỏi effect bằng useEffectEvent.

Core Mental Model

Effect chỉ để đồng bộ React với một hệ thống bên ngoài sau render. Tính dữ liệu cho UI diễn ra trong render; xử lý hành động người dùng diễn ra trong event handler. Effect Event cho phép effect gọi logic luôn đọc props/state mới nhất mà không biến logic đó thành dependency reactive.

Key Takeaways & Principles

Không dùng Effect để tính derived data từ props/state; tính trực tiếp trong render và chỉ memoize khi profiling cho thấy phép tính đắt.
Không dùng Effect để phản ứng với click/submit; event handler biết chính xác event nào đã xảy ra.
Dùng `useEffectEvent` cho phần logic được effect gọi nhưng không nên làm effect reconnect/re-subscribe khi giá trị đọc bên trong đổi.
Không dùng Effect Event để che dependency thật; chỉ tách phần không reactive và chỉ gọi Effect Event từ Effect.