Using react-router คุณสามารถป้องกันการเปลี่ยนเส้นทางได้อย่างง่ายดาย (ซึ่งจะป้องกันไม่ให้ส่วนประกอบ unmount) โดยใช้ Prompt คุณต้องส่งอุปกรณ์ประกอบฉาก getUserConfirmation ซึ่งเป็นฟังก์ชันด้วยตนเอง คุณสามารถแก้ไขฟังก์ชันนี้ได้ตามที่คุณต้องการในเราเตอร์ (เบราว์เซอร์ หน่วยความจำ หรือแฮช) เพื่อสร้างกล่องโต้ตอบการยืนยันที่กำหนดเอง (เช่น
อะไรทำให้ส่วนประกอบเลิกเมานท์
ส่วนประกอบจะถูกยกเลิกการต่อเชื่อม เมื่อองค์ประกอบหลักไม่มีการแสดงผลอีกต่อไป หรือองค์ประกอบหลักดำเนินการอัปเดตที่ไม่แสดงอินสแตนซ์นี้
ปฏิกิริยา unmount ส่วนประกอบอย่างไร
Unmount a React Node
React มี API ระดับบนสุดที่เรียกว่า unmountComponentAtNode ที่จะลบส่วนประกอบออกจากคอนเทนเนอร์เฉพาะ ฟังก์ชัน unmountComponentAtNode รับอาร์กิวเมนต์เป็นคอนเทนเนอร์ซึ่งส่วนประกอบเฉพาะควรถูกลบออก
การเลิกเมาต์ส่วนประกอบคืออะไร
วัตถุประสงค์ของวิธีนี้คือ เพื่อทำลายผลข้างเคียงที่สร้างโดยส่วนประกอบ เมื่อถอดส่วนประกอบออกแล้ว เราจะไม่สามารถใช้มันได้อีก ทุกครั้งที่มีการสร้างองค์ประกอบใหม่ นอกจากนี้ ถ้าไม่มีความแตกต่างใน virtual dom และ dom จริง react ก็หยุดเฟสการอัปเดตได้เช่นกัน
ฉันจะทราบได้อย่างไรว่าส่วนประกอบนั้นไม่ได้ต่อเชื่อม
เพียง ตั้งค่าคุณสมบัติ _isMounted เป็น true ใน componentDidMount และตั้งค่าเป็น false ใน componentWillUnmount และใช้ตัวแปรนี้เพื่อตรวจสอบสถานะของส่วนประกอบของคุณ ทางออกที่ดีที่สุดคือการค้นหาตำแหน่งที่ setState อาจถูกเรียกหลังจากส่วนประกอบถูกถอดออก และแก้ไขมัน