Test custom React hook với renderHook trong Vitest: act, rerender, wrapper Context, waitFor cho hook async, unmount.
All posts
Flaky test là gì, vì sao nguy hiểm và cách khắc phục bằng await, fake timers, reset state và seed random trong Vitest.
vi.spyOn hay vi.mock trong Vitest: khác nhau về phạm vi, hoisting, partial mock và cách dọn dẹp mock giữa test.
Dùng CVA quản lý CSS class variants type-safe trong React: VariantProps tự động, compound variants, tích hợp Zod
Zod: Validate Dữ Liệu Type-Safe Trong React
Mar 17, 2026Học Zod cho React: z.infer, parse/safeParse, coerce, optional, default và type guard validate dữ liệu thực tế
Typing props React TypeScript: ReactNode, ChangeEventHandler, ComponentPropsWithRef, discriminated union, as prop
Học TypeScript nâng cao cho React: Union, Discriminated Union, unknown/any/never, as const, Generics thực tế dễ hiểu
Type Coercion & Metaprogramming trong JavaScript
Mar 14, 2026Hiểu Type Coercion, falsy values, ToPrimitive coercion và Symbol.toPrimitive trong JavaScript qua ví dụ thực tế.
OOP và Prototypes trong JavaScript hiện đại
Mar 10, 2026Tìm hiểu OOP và Prototypes trong JavaScript hiện đại: prototype chain, ES6 Class, kế thừa và pattern thực tế cho dev
async vs defer: Chọn Cái Nào Để Web Load Nhanh?
Jan 10, 2026async vs defer khác gì nhau? Khi nào dùng cái nào? Hướng dẫn chọn đúng thuộc tính để tối ưu script, tăng tốc web