Static Type Checking trong React là gì? Khám phá ngay
04/08/2022 02:58
Trình kiểm tra kiểu tĩnh như Flow và TypeScript xác định một số loại vấn đề nhất định trước khi bạn chạy mã của mình. Họ cũng có thể cải thiện quy trình làm việc của nhà phát triển bằng cách thêm các tính năng như tự động hoàn thành. Vì lý do này, chúng tôi khuyên bạn nên sử dụng Flow hoặc TypeScript thay vì PropTypescho các cơ sở mã lớn hơn.
Trình kiểm tra kiểu tĩnh như Flow và TypeScript xác định một số loại vấn đề nhất định trước khi bạn chạy mã của mình. Họ cũng có thể cải thiện quy trình làm việc của nhà phát triển bằng cách thêm các tính năng như tự động hoàn thành. Vì lý do này, chúng tôi khuyên bạn nên sử dụng Flow hoặc TypeScript thay vì PropTypes
cho các cơ sở mã lớn hơn.
Flow
Flow là một trình kiểm tra kiểu tĩnh cho mã JavaScript của bạn. Nó được phát triển tại Facebook và thường được sử dụng với React. Nó cho phép bạn chú thích các biến, hàm và các thành phần React bằng cú pháp kiểu đặc biệt và phát hiện sớm các lỗi. Bạn có thể đọc phần giới thiệu về Flow để tìm hiểu những điều cơ bản về nó.
Để sử dụng Flow, bạn cần:
- Thêm Luồng vào dự án của bạn dưới dạng phụ thuộc.
- Đảm bảo rằng cú pháp Flow được loại bỏ khỏi mã đã biên dịch.
- Thêm chú thích loại và chạy Flow để kiểm tra chúng.
Chúng tôi sẽ giải thích chi tiết các bước này bên dưới.
Thêm luồng vào dự án
Đầu tiên, điều hướng đến thư mục dự án của bạn trong thiết bị đầu cuối. Bạn sẽ cần chạy lệnh sau:
Nếu bạn sử dụng Yarn , hãy chạy:
yarn add --dev flow-bin
Nếu bạn sử dụng npm , hãy chạy:
npm install --save-dev flow-bin
Lệnh này cài đặt phiên bản Flow mới nhất vào dự án của bạn.
Bây giờ, hãy thêm flow
vào "scripts"
phần của bạn package.json
để có thể sử dụng phần này từ thiết bị đầu cuối:
{
// ...
"scripts": {
"flow": "flow", // ...
},
// ...
}
Cuối cùng, chạy một trong các lệnh sau:
Nếu bạn sử dụng Yarn , hãy chạy:
yarn run flow init
Nếu bạn sử dụng npm , hãy chạy:
npm run flow init
Lệnh này sẽ tạo một tệp cấu hình Flow mà bạn sẽ cần phải cam kết.
Tách cú pháp luồng khỏi mã đã biên dịch
Flow mở rộng ngôn ngữ JavaScript với một cú pháp đặc biệt cho các chú thích kiểu. Tuy nhiên, các trình duyệt không biết cú pháp này, vì vậy chúng tôi cần đảm bảo rằng nó không nằm trong gói JavaScript đã biên dịch được gửi đến trình duyệt.
Cách chính xác để làm điều này phụ thuộc vào các công cụ bạn sử dụng để biên dịch JavaScript.
Tạo ứng dụng React
Nếu dự án của bạn được thiết lập bằng Create React App , xin chúc mừng! Chú thích Luồng đã bị loại bỏ theo mặc định, vì vậy bạn không cần phải làm bất kỳ điều gì khác trong bước này.
Nếu bạn đã định cấu hình Babel theo cách thủ công cho dự án của mình, bạn sẽ cần cài đặt một giá trị đặt trước đặc biệt cho Flow.
Nếu bạn sử dụng Yarn, hãy chạy:
yarn add --dev @babel/preset-flow
Nếu bạn sử dụng npm, hãy chạy:
npm install --save-dev @babel/preset-flow
Sau đó, thêm flow
cài đặt trước vào cấu hình Babel của bạn . Ví dụ: nếu bạn định cấu hình Babel thông qua .babelrc
tệp, nó có thể giống như sau:
{
"presets": [
"@babel/preset-flow", "react"
]
}
Điều này sẽ cho phép bạn sử dụng cú pháp Luồng trong mã của mình.
Thêm chú thích loại luồng
Theo mặc định, Flow chỉ kiểm tra các tệp bao gồm chú thích này:
// @flow
Thông thường, nó được đặt ở đầu tệp. Hãy thử thêm nó vào một số tệp trong dự án của bạn và chạy yarn flow
hoặc npm run flow
để xem Flow đã tìm thấy bất kỳ vấn đề nào chưa.
Ngoài ra còn có một tùy chọn để buộc Flow kiểm tra tất cả các tệp bất kể chú thích là gì. Điều này có thể quá ồn ào đối với các dự án hiện có, nhưng là hợp lý đối với một dự án mới nếu bạn muốn nhập đầy đủ bằng Flow.
TypeScript
TypeScript là một ngôn ngữ lập trình được phát triển bởi Microsoft. Nó là một tập hợp JavaScript được đánh máy và bao gồm trình biên dịch riêng của nó. Là một ngôn ngữ được đánh máy, TypeScript có thể bắt lỗi và lỗi tại thời điểm xây dựng, rất lâu trước khi ứng dụng của bạn hoạt động. Bạn có thể tìm hiểu thêm về cách sử dụng TypeScript với React tại đây .
Để sử dụng TypeScript, bạn cần:
- Thêm TypeScript làm phụ thuộc vào dự án của bạn
- Định cấu hình các tùy chọn trình biên dịch TypeScript
- Sử dụng các phần mở rộng tệp phù hợp
- Thêm định nghĩa cho các thư viện bạn sử dụng
Chúng ta hãy xem xét những điều này một cách chi tiết.
Sử dụng TypeScript với Tạo ứng dụng React
Tạo ứng dụng React hỗ trợ TypeScript.
Để tạo một dự án mới với sự hỗ trợ của TypeScript, hãy chạy:
npx create-react-app my-app --template typescript
Thêm TypeScript vào một dự án
Tất cả bắt đầu bằng việc chạy một lệnh trong thiết bị đầu cuối của bạn.
Nếu bạn sử dụng Yarn , hãy chạy:
yarn add --dev typescript
Nếu bạn sử dụng npm , hãy chạy:
npm install --save-dev typescript
Chúc mừng! Bạn đã cài đặt phiên bản TypeScript mới nhất vào dự án của mình. Cài đặt TypeScript cho phép chúng tôi truy cập vào tsc
lệnh. Trước khi cấu hình, hãy thêm tsc
vào phần "tập lệnh" trong package.json
:
{
// ...
"scripts": {
"build": "tsc", // ...
},
// ...
}
Cấu hình trình biên dịch TypeScript
Trình biên dịch không giúp ích gì cho chúng ta cho đến khi chúng ta yêu cầu nó phải làm gì. Trong TypeScript, các quy tắc này được định nghĩa trong một tệp đặc biệt được gọi là tsconfig.json
. Để tạo tệp này:
Nếu bạn sử dụng Yarn , hãy chạy:
yarn run tsc --init
Nếu bạn sử dụng npm , hãy chạy:
npx tsc --init