Tôi hiện đang học React và tôi nghĩ rằng tôi hiểu nó khá tốt. Tuy nhiên, có một điều khiến tôi bận tâm về việc phát triển các ứng dụng React mạnh mẽ - những công cụ mà các nhà phát triển sử dụng để kiểm tra kiểu tĩnh?Phản hồi - sử dụng TypeScript vs Flow vs?
Tôi thực sự thích TypeScript. Tôi nghĩ rằng nó làm giảm sự đau đớn của việc phát triển các ứng dụng JavaScript khá nhiều, nhờ kiểm tra kiểu và các tính năng gọn gàng khác. Visual Studio Code cũng cung cấp một sự hoàn thành mã thực sự tốt đẹp. Và tôi biết rằng tôi có thể làm cho nó hoạt động với React bằng cách sử dụng typings + DenifitelyTyped.
Vấn đề là, không có nhiều hướng dẫn về cách sử dụng React + TypeScript. Cũng không có nhiều bài viết về phát triển bằng cách sử dụng combo này. Mặt khác, nhiều người dường như đang sử dụng Flow, một dự án được hỗ trợ bởi Facebook (và tôi đoán họ cũng sử dụng nó).
Tôi đã quản lý để tìm một số discussion on Reddit với ưu và khuyết điểm về cách sử dụng React + TypeScript/React + Flow. Tuy nhiên, đối với tôi, nó có vẻ khá lỗi thời vì nó đã được khoảng 10 tháng tuổi rồi. Tôi nghĩ rất nhiều đã thay đổi kể từ đó.
Tôi cũng đã tìm thấy hai bài viết về cách sử dụng React + Flow và React + TypeScript. Tác giả nêu rõ một số vấn đề mà anh ta gặp phải khi sử dụng cả hai tùy chọn và kết luận rằng TypeScript là "đặt cược tốt nhất ngay bây giờ" (tháng 11 năm 2015), đặc biệt là vì dự án Flow có nhiều vấn đề và nhận hoạt động của nhà phát triển thấp từ Facebook. Ông cũng đề cập đến nó không chơi tốt với Babel?
Vì vậy, tôi đoán câu hỏi sẽ là: Có an toàn khi sử dụng combo React + TypeScript hay tôi sẽ gặp phải một số khó khăn? Điều gì về dòng chảy? Có một số công cụ tương tự khác mà tôi nên kiểm tra không? Bạn sẽ đề xuất phương pháp tiếp cận nào?
Cập nhật tháng 9 năm 2017:
Có hơn một năm kinh nghiệm với việc sử dụng hàng ngày của nguyên cảo, và chơi với dòng chảy trong một thời gian, tôi đã đi đến kết luận sau:
- TypeScript vẫn còn đau đớn để sử dụng cho đến ngày nay. Vấn đề là thế giới JavaScript chỉ di chuyển nhanh đến nỗi TypeScript tiếp tục tụt lại phía sau. Suy nghĩ về việc sử dụng tính năng ES7 giai đoạn 3 mới lạ mắt này? Không, bạn không thể. Bạn muốn nhận gợi ý loại cho phiên bản mới nhất của một số thư viện? Chờ một tháng, hoặc hai, có thể nhiều hơn ...
- Luồng đã đi một chặng đường dài, nó đã được cải thiện rất nhiều, nó có thể bắt được một số thứ mà TS không thể. Hay nhất của tất cả, nó cuối cùng hoạt động trên Windows. Ngoài ra, có plugin tuyệt vời cho VS Code (không biết tại sao nó chỉ có 3/5 rating). Và nó hoạt động 100% với React Native, TypeScript thậm chí còn chưa đến 50%.
- Hầu hết thời gian, bạn không cần loại nào cả. Tất cả các gõ bổ sung là hiếm khi giá trị nó. JS là ngôn ngữ được nhập động, vượt qua nó :)
TL; DR: Nếu bạn định sử dụng bất kỳ trình kiểm tra loại nào, tôi khuyên bạn nên sử dụng Luồng.
Bạn cũng có thể chỉ cần sử dụng javascript đơn giản và React cung cấp cho bạn các kiểu chữ để bạn có thể đảm bảo đạo cụ là đúng loại và được chuyển nếu cần. – erichardson30
Vâng, tôi biết về propTypes. Tuy nhiên, điều đó giải quyết vấn đề chỉ một phần - trong lớp xem (nếu tôi không nhầm?). Điều gì về mã trong các cửa hàng và hành động? Tôi cũng muốn có kiểu gõ tĩnh. –
http://blog.wolksoftware.com/working-with-react-and-typescript có vẻ như nó có một số tài liệu tốt về cách sử dụng typescript với phản ứng và các phần mở rộng khác nhau mà bạn cần sử dụng – erichardson30