Cách khai báo các kiểu chung global cho các dự án React TypeScript (ok)
Trong một dự án React TypeScript, khai báo các kiểu dữ liệu global giúp tái sử dụng code, giảm lỗi và dễ bảo trì hơn. Dưới đây là các cách tổ chức và khai báo global types hiệu quả.
Cách 1: Theo kiểu module
1, Tạo thư mục chứa kiểu global
Bạn có thể tạo một thư mục riêng trong src/
để lưu các kiểu global:
2, Khai báo kiểu global trong từng file
— common.ts (Chứa kiểu chung)
— user.ts (Chứa kiểu liên quan đến người dùng)
— api.ts (Chứa kiểu API)
3, Xuất tất cả kiểu từ index.ts
index.ts
Trong types/index.ts
, bạn có thể export tất cả các kiểu để dễ import vào các file khác:
Khi cần dùng kiểu, chỉ cần import từ types
thay vì từng file riêng lẻ:
Cách 2: Theo kiểu global
4, Khai báo kiểu global bằng global.d.ts
global.d.ts
Nếu bạn muốn khai báo kiểu chung mà không cần import, có thể sử dụng global declaration bằng cách tạo file global.d.ts
trong thư mục src/
.
Thêm file global.d.ts
Trong global.d.ts
Lưu ý: Phải có export {}
ở cuối file để TypeScript nhận diện đây là module, tránh lỗi.
Với cách này, bạn không cần import mỗi lần sử dụng kiểu dữ liệu.
Ví dụ sử dụng trực tiếp trong component:
Cách 3: Theo kiểu React Context
5, Khai báo kiểu cho React Context
React Context
Nếu dự án của bạn có AuthContext hoặc ThemeContext, bạn nên khai báo kiểu cho nó.
Ví dụ khai báo kiểu cho AuthContext
Cách 4: Theo kiểu Redux Toolkit
6, Khai báo kiểu cho Redux Toolkit
(nếu dùng Redux)
Redux Toolkit
(nếu dùng Redux)Sau đó, trong component:
7, Tổng kết
Thư mục types/
Khi muốn tổ chức kiểu theo module
import { User } from "../types";
File global.d.ts
Khi muốn kiểu dữ liệu có sẵn mà không cần import
Sử dụng trực tiếp
Context API
Khi có global state (Auth, Theme)
useContext(AuthContext)
Redux types
Khi dùng Redux Toolkit
useSelector((state: RootState) => state.user);
Bạn thích cách nào nhất? 🚀
Last updated
Was this helpful?