ค้นหาเว็บไซต์

reactjs - TypeScript ชนิดสำหรับเหตุการณ์ onClick โดยพิจารณาว่าสามารถถูกเรียกใช้งานจากคีย์บอร์ดได้หรือไม่?


แผ่นโกง React Typescript ที่นี่แนะนำให้กำหนดประเภทของเหตุการณ์คลิกดังนี้:

https://github.com/typescript-cheatsheets/react-typescript-cheatsheet#basic-prop-types-examples

onClick(event: React.MouseEvent<HTMLButtonElement>): void;

อย่างไรก็ตามเป็นไปได้ที่จะเรียกปุ่มหรือลิงก์ผ่านแป้นพิมพ์ และเหตุการณ์ onClick จะยังคงทำงานอยู่ นั่นหมายความว่าการพิมพ์นี้ทางเทคนิคผิดหรือไม่?

คำตอบ #1

ใช่ 'ทางเทคนิค' มันผิด แต่กรณีทั่วไปคือการคลิกทำด้วยเมาส์ แต่ก็สามารถทำด้วยแทร็กแพดหรือด้วยนิ้วของคุณได้เช่นกัน

TypeScript เป็นฟีเจอร์ในเวลาคอมไพล์ ดังนั้นโดยทั่วไป ความไม่ถูกต้องทางเทคนิคของชนิดที่นี่ก็ไม่ได้สำคัญต่อเบราว์เซอร์หรือผู้ใช้ปลายทางตราบใดที่คุณยังได้รับประโยชน์จากการใช้ชนิดอยู่

แม้ว่าคุณจะสามารถเปลี่ยนชื่อมันโดยการกำหนดให้เป็นชนิดใหม่ได้ แต่สิ่งนั้นไม่ใช่ความคิดที่ดีเพราะอาจทำให้ผู้พัฒนาคนอื่นสับสน