คุณจะหยุดส่วนประกอบจากการ unmounting ได้อย่างไร?
คุณจะหยุดส่วนประกอบจากการ unmounting ได้อย่างไร?

วีดีโอ: คุณจะหยุดส่วนประกอบจากการ unmounting ได้อย่างไร?

วีดีโอ: คุณจะหยุดส่วนประกอบจากการ unmounting ได้อย่างไร?
วีดีโอ: PC Disassembly 2024, อาจ
Anonim

โดยใช้ ตอบสนอง -router คุณสามารถได้อย่างง่ายดาย ป้องกัน เปลี่ยนเส้นทาง(ซึ่งจะ ป้องกัน ส่วนประกอบ เลิกเมานท์ ) โดยใช้ Prompt คุณต้องส่ง prop getUserConfirmation ซึ่งเป็นฟังก์ชันด้วยตนเอง คุณสามารถแก้ไขฟังก์ชันนี้ได้ตามต้องการในเราเตอร์ (เบราว์เซอร์ หน่วยความจำ หรือแฮช) เพื่อสร้างกล่องโต้ตอบการยืนยันที่กำหนดเอง (เช่น

อีกอย่างที่ต้องรู้คือ คุณจะ unmount ส่วนประกอบของ react อย่างไร?

ตอบ. ใช่ ReactDOM มีวิธีลบ a ส่วนประกอบ จาก DOM ผ่านรหัสด้วยตนเอง คุณสามารถใช้วิธี ReactDOM unmountComponentAtNode(container) ซึ่งจะลบ mount องค์ประกอบปฏิกิริยา จาก DOM ในคอนเทนเนอร์ที่ระบุ และล้างตัวจัดการเหตุการณ์และสถานะ

นอกจากนี้ ไม่สามารถเรียก setState หรือ forceUpdate บนส่วนประกอบที่ไม่ได้ต่อเชื่อม นี่คือการไม่ op? คำเตือน: ไม่สามารถเรียก setState (หรือ forceUpdate) บนส่วนประกอบที่ไม่ได้ต่อเชื่อม . มันคือ ไม่ - op แต่บ่งชี้ว่ามีหน่วยความจำรั่วในแอปพลิเคชันของคุณ หากต้องการแก้ไข ให้ยกเลิกการสมัครรับข้อมูลและงานแบบอะซิงโครนัสทั้งหมดในเมธอด componentWillUnmount ดังนั้นวิธีแก้ปัญหาที่ผู้คนมักใช้คือการใช้ Redux

ด้วยวิธีนี้ ส่วนประกอบที่ไม่ได้ต่อเชื่อมคืออะไร?

เรียก setState() ใน an ส่วนประกอบที่ไม่ได้ต่อเชื่อม หมายความว่า ส่วนประกอบ ไม่ได้ทำความสะอาดอย่างถูกต้องก่อนถูก ไม่ได้ต่อเชื่อม นั่นคือ แอปของคุณยังคงมีการอ้างอิงถึง an ส่วนประกอบที่ไม่ได้ต่อเชื่อม.

ฉันควรใช้ componentWillUnmount เมื่อใด

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

แนะนำ: