typescript และ PropTypes ตอบสนองวัตถุประสงค์ที่แตกต่างกัน typescript ตรวจสอบชนิดที่รวบรวมเวลาขณะ PropTypes มีการตรวจสอบที่รันไทม์
typescript มีประโยชน์เมื่อคุณเขียนโค้ด: มันจะเตือนคุณหากคุณส่งอาร์กิวเมนต์ผิดประเภทไปยังส่วนประกอบ React ของคุณให้คุณเติมข้อความอัตโนมัติสำหรับการเรียกใช้ฟังก์ชัน ฯลฯ
PropTypes มีประโยชน์เมื่อคุณทดสอบว่าส่วนประกอบโต้ตอบกับข้อมูลภายนอกอย่างไรเช่นเมื่อคุณโหลด JSON จาก API PropTypes จะช่วยคุณแก้จุดบกพร่อง (เมื่ออยู่ในโหมดการพัฒนาของ React) สาเหตุที่คอมโพเนนต์ของคุณล้มเหลวโดยการพิมพ์ข้อความที่เป็นประโยชน์เช่น:
Warning: Failed prop type: Invalid prop `id` of type `number` supplied to `Table`, expected `string`
แม้ว่าจะดูเหมือนว่า typescript และ PropTypes ทำสิ่งเดียวกัน แต่ก็ไม่ได้ทับซ้อนกันเลย แต่เป็นไปได้ที่จะสร้าง PropTypes จาก typescript โดยอัตโนมัติเพื่อที่คุณจะได้ไม่ต้องระบุประเภทสองครั้งดูตัวอย่าง: