Lập trình·Hướng dẫn

TypeScript: từ viết type đến thiết kế dữ liệu

Một type tốt không chỉ giúp autocomplete. Nó khiến những trạng thái không hợp lệ khó xuất hiện hơn.

Trong bài viết này · 3 mục

Biểu diễn đúng trạng thái#

Thay vì ba boolean có thể mâu thuẫn, hãy dùng một union mô tả những trạng thái thật sự có thể xảy ra.

typescript
type RequestState<T> =
  | { status: "idle" }
  | { status: "loading" }
  | { status: "success"; data: T }
  | { status: "error"; message: string };

Kiểm tra ở ranh giới#

TypeScript không tự kiểm tra JSON từ mạng. Validation ở phía server vẫn cần thiết cho mọi dữ liệu đầu vào.

Điều mang về#

  • Dùng union cho trạng thái.

  • Giới hạn dữ liệu tại boundary.

  • Đừng dùng any để bỏ qua lỗi thiết kế.

MỘT GÓC TRAO ĐỔI

Bạn nghĩ sao?

Góp một câu hỏi, một cách làm hoặc một điều bạn học được.

Đang mở phần thảo luận…