ปัญหาหลักที่เกี่ยวข้องกับ React Router และการเพิ่มทางเลือกสำรองเพื่อตรวจจับทั้งหมดคือ การกำหนดค่าเส้นทางสำรองอย่างถูกต้องอาจทำได้ยาก เส้นทางสำรองจำเป็นต้องได้รับการกำหนดค่าในลักษณะที่จะรับคำขอทั้งหมด รวมถึงเส้นทางที่ไม่ถูกต้อง หากกำหนดค่าไม่ถูกต้อง ดังนั้นคำขอสำหรับเส้นทางที่ไม่ถูกต้องจะไม่ถูกจับโดยเส้นทางสำรอง และอาจส่งผลให้เกิดข้อผิดพลาดหรือลักษณะการทำงานที่ไม่คาดคิด นอกจากนี้ หากแอปพลิเคชันมีเส้นทางไดนามิก (เช่น ตามอินพุตของผู้ใช้) สิ่งเหล่านี้จำเป็นต้องนำมาพิจารณาเมื่อกำหนดค่าเส้นทางสำรองเพื่อให้เส้นทางสำรองถูกจับได้เช่นกัน
import { BrowserRouter as Router, Route, Switch } from 'react-router-dom'; const App = () => ( <Router> <Switch> <Route exact path="/" component={Home} /> <Route path="/about" component={About} /> {/* Fallback route */} <Route component={NoMatch} /> </Switch> </Router> );
// บรรทัดที่ 1: บรรทัดนี้นำเข้าส่วนประกอบ BrowserRouter, Route และ Switch จากไลบรารี react-router-dom
// บรรทัดที่ 2: บรรทัดนี้กำหนดค่าคงที่ที่เรียกว่า App ซึ่งเป็นส่วนประกอบของฟังก์ชัน
// บรรทัดที่ 3: บรรทัดนี้แสดงองค์ประกอบเราเตอร์จาก react-router-dom
// บรรทัดที่ 4: บรรทัดนี้แสดงผลส่วนประกอบ Switch จาก react-router-dom
// บรรทัดที่ 5 และ 6: บรรทัดเหล่านี้แสดงองค์ประกอบเส้นทางสองรายการพร้อมเส้นทางที่แน่นอนและส่วนประกอบที่จะแสดงเมื่อเส้นทางเหล่านั้นตรงกัน
// บรรทัดที่ 8: บรรทัดนี้แสดงเส้นทางสำรองหากไม่มีเส้นทางอื่นที่ตรงกัน มันจะแสดงส่วนประกอบ NoMatch หากไม่มีเส้นทางอื่นที่ตรงกัน
เราเตอร์ตอบสนองคืออะไร
React Router เป็นไลบรารีการกำหนดเส้นทางสำหรับแอปพลิเคชัน React ช่วยให้นักพัฒนาสามารถสร้างเส้นทางและส่วนประกอบที่สามารถใช้เพื่อนำทางระหว่างหน้าต่างๆ ในแอปพลิเคชัน React นอกจากนี้ยังมีคุณสมบัติต่างๆ เช่น การจับคู่เส้นทางแบบไดนามิก พารามิเตอร์การค้นหา และสถานะตำแหน่ง นอกจากนี้ยังรองรับการเรนเดอร์ฝั่งเซิร์ฟเวอร์และการแยกโค้ด
เส้นทางทางเลือกสำรองทั้งหมด
เส้นทางสำรองแบบ catch-all คือเส้นทางใน React Router ที่ตรงกับเส้นทางใดๆ ที่ไม่ตรงกับเส้นทางอื่น เส้นทางประเภทนี้มักใช้เพื่อสร้างหน้า 404 หรือแสดงส่วนประกอบสำหรับเส้นทางที่ไม่ตรงกันทั้งหมด สิ่งสำคัญคือต้องสังเกตว่าเส้นทางสำรองที่รับทั้งหมดควรเป็นเส้นทางสุดท้ายในรายการเส้นทางเสมอ เนื่องจากเส้นทางดังกล่าวจะตรงกับเส้นทางใดก็ได้และป้องกันไม่ให้เส้นทางอื่นจับคู่
วิธีกำหนดเส้นทางสำรองอย่างถูกต้อง
เมื่อใช้ React Router เส้นทางสำรองคือเส้นทางที่ใช้เมื่อไม่มีเส้นทางอื่นที่ตรงกับ URL ที่ร้องขอ โดยทั่วไปจะใช้เพื่อเปลี่ยนเส้นทางผู้ใช้ไปยังหน้า 404 หรือหน้าอื่นบางหน้าเมื่อไม่มี URL ที่ร้องขอ
ในการกำหนดเส้นทางสำรองอย่างถูกต้องใน React Router ก่อนอื่นคุณควรสร้างไฟล์
เหตุใดเส้นทางสำรองจึงถูกเรียกใช้เสมอ
เส้นทางสำรองใน React Router จะถูกเรียกใช้เสมอเมื่อเส้นทาง URL ไม่ตรงกับเส้นทางที่มีอยู่ สิ่งนี้สามารถเกิดขึ้นได้เมื่อผู้ใช้พิมพ์ URL ที่ไม่ถูกต้องด้วยตนเอง หรือหากลอจิกการกำหนดเส้นทางของแอปพลิเคชันไม่ได้รับการกำหนดค่าอย่างถูกต้อง เส้นทางสำรองช่วยให้นักพัฒนาสามารถจัดการกับสถานการณ์เหล่านี้ได้อย่างสง่างาม และให้ข้อเสนอแนะแก่ผู้ใช้ เช่น หน้า 404 หรือเปลี่ยนเส้นทางไปยังหน้าแรก