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.
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ế.
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…