แก้ไขแล้ว: ตอบสนองเราเตอร์เพิ่มทางเลือกเพื่อจับทั้งหมด

ปัญหาหลักที่เกี่ยวข้องกับ 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 ก่อนอื่นคุณควรสร้างไฟล์ ส่วนประกอบและล้อมรอบเส้นทางของคุณ ข้างใน ส่วนประกอบ คุณควรรวมเส้นทางปกติของคุณตามด้วย ส่วนประกอบที่ไม่ได้ระบุเส้นทาง นี่จะเป็นเส้นทางสำรองของคุณและจะตรวจจับคำขอใดๆ ที่ไม่ตรงกับเส้นทางอื่นๆ ของคุณ จากนั้นคุณสามารถระบุสิ่งที่จะเกิดขึ้นเมื่อเส้นทางนี้ตรงกัน เช่น การเปลี่ยนเส้นทางไปยังหน้า 404 หรือการแสดงเนื้อหาอื่นๆ

เหตุใดเส้นทางสำรองจึงถูกเรียกใช้เสมอ

เส้นทางสำรองใน React Router จะถูกเรียกใช้เสมอเมื่อเส้นทาง URL ไม่ตรงกับเส้นทางที่มีอยู่ สิ่งนี้สามารถเกิดขึ้นได้เมื่อผู้ใช้พิมพ์ URL ที่ไม่ถูกต้องด้วยตนเอง หรือหากลอจิกการกำหนดเส้นทางของแอปพลิเคชันไม่ได้รับการกำหนดค่าอย่างถูกต้อง เส้นทางสำรองช่วยให้นักพัฒนาสามารถจัดการกับสถานการณ์เหล่านี้ได้อย่างสง่างาม และให้ข้อเสนอแนะแก่ผู้ใช้ เช่น หน้า 404 หรือเปลี่ยนเส้นทางไปยังหน้าแรก

กระทู้ที่เกี่ยวข้อง:

แสดงความคิดเห็น