Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon การอ้างอิงใหม่เป็นคุณสมบัติของเสาปรับปรุงประสิทธิภาพการพัฒนาอย่างไร


การอ้างอิงใหม่เป็นคุณสมบัติของเสาปรับปรุงประสิทธิภาพการพัฒนาอย่างไร


คุณลักษณะใหม่ใน React 19 ที่อนุญาตให้ผ่านการอ้างอิงเป็นอุปกรณ์ประกอบฉากแทนการใช้ `forwardRef` สามารถปรับปรุงประสิทธิภาพการพัฒนาในสองสามวิธี:

API ที่เรียบง่ายและใช้งานง่ายมากขึ้น

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

หม้อไอน้ำลดลง

การใช้ `ForwardRef` ต้องห่อส่วนประกอบลูกในการโทร` ForwardRef` และส่งผ่าน `ref` เป็นอาร์กิวเมนต์ที่สองไปยังองค์ประกอบฟังก์ชัน สิ่งนี้จะเพิ่มรหัสหม้อไอน้ำบางส่วน ผ่านการอ้างอิงโดยตรงเป็นเสาจะกำจัดรหัสพิเศษนี้

การห่อหุ้มที่ดีขึ้น

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

refactoring ง่ายขึ้น

หากคุณต้องการ refactor แผนผังส่วนประกอบและเปลี่ยนจุดเชื่อมต่อ REF มันง่ายกว่าที่จะอัปเดตชื่อเสาแทนที่จะต้องอัปเดตการโทร `forwardRef` ในหลายสถานที่ สิ่งนี้ทำให้ codebase ได้รับการบำรุงรักษามากขึ้น

สอดคล้องกับส่วนประกอบคลาส

ในส่วนประกอบของคลาสการอ้างอิงจะถูกแนบมาโดยใช้ `ref` prop ไม่ใช่ผ่านกลไกพิเศษ` forwardref` การอนุญาตให้อ้างอิงเป็นอุปกรณ์ประกอบฉากในส่วนประกอบฟังก์ชันให้ API ที่สอดคล้องกันมากขึ้นในคลาสและส่วนประกอบฟังก์ชั่น

การตรวจสอบพิมพ์ง่ายขึ้น

เมื่อใช้ TypeScript มันง่ายกว่าที่จะพิมพ์การตรวจสอบการอ้างอิงที่ส่งผ่านเป็นเสาเมื่อเทียบกับการใช้ `forwardRef` และ` refattributes 'ประเภท ประเภท Prop สามารถอนุมานได้โดยตรงจากวัตถุ `ref`

โดยสรุปคุณลักษณะการอ้างอิงใหม่เป็นอุปกรณ์ประกอบฉากทำให้ React API ใช้งานง่ายมากขึ้นลดระดับหม้อไอน้ำปรับปรุงการห่อหุ้มและทำให้ codebase ได้รับการบำรุงรักษามากขึ้น - ทั้งหมดนี้ปรับปรุงประสิทธิภาพของนักพัฒนาเมื่อทำงานกับ Refs ใน React 19 และเกิน [1] [3]

การอ้างอิง:
[1] https://www.copycat.dev/blog/react-forwardref/
[2] https://stackoverflow.com/questions/58578570/value-of-using-react-forwardref-vs-custom-ref-prop
[3] https://legacy.reactjs.org/docs/forwarding-refs.html
[4] https://www.reddit.com/r/reactjs/comments/1asgpy9/ref_as_a_prop_advance_beginner_question/
[5] https://blog.logrocket.com/why-you-hould-use-refs-sparingly-production/
[6] https://react.dev/blog/2024/04/25/react-19-umgrade-guide
[7] https://dev.to/dalcio/react-performance-usestate-reducer-ref-theoretical-summary-1bok
[8] https://www.freecodecamp.org/news/new-react-19-features/