Logo th.boatexistence.com

Useeffect เหมือนกับ componentdidmount หรือไม่?

สารบัญ:

Useeffect เหมือนกับ componentdidmount หรือไม่?
Useeffect เหมือนกับ componentdidmount หรือไม่?
Anonim

การเทียบเท่า componentDidMount ใน hooks คือ ฟังก์ชั่น useEffect ฟังก์ชันที่ส่งไปยัง useEffect จะถูกดำเนินการในทุกองค์ประกอบที่เรนเดอร์ - เว้นแต่คุณจะส่งอาร์กิวเมนต์ที่สองไปที่มัน

การใช้งานมีผลอย่างไร

useEffect ทำอะไร? เมื่อใช้ Hook นี้ คุณบอก React ว่าคอมโพเนนต์ของคุณต้องทำอะไรหลังจากเรนเดอร์ React จะจดจำฟังก์ชันที่คุณส่งผ่าน (เราจะเรียกว่า "เอฟเฟกต์") และเรียกใช้ในภายหลังหลังจากดำเนินการอัปเดต DOM

ส่วนประกอบติดตั้ง React hook หรือไม่

useEffect เป็น React hook ที่คุณสามารถใช้ผลข้างเคียง เช่น รับข้อมูลจากเซิร์ฟเวอร์ อาร์กิวเมนต์แรกคือการเรียกกลับที่จะถูกไล่ออกหลังจากเค้าโครงเบราว์เซอร์และระบายสี

ทำไมไม่เรียก useEffect

สาเหตุที่เกิดขึ้นเป็นเพราะการเรียก API เป็นแบบอะซิงโครนัส มันไม่เติมสถานะทันที ดังนั้นการแสดงจึงเกิดขึ้นก่อนและพยายามอ่าน ปัจจุบันจากสถานะสภาพอากาศเริ่มต้นเป็นโมฆะ วิธีแก้ไข: ในวิธีการเรนเดอร์ของคุณ อย่าอ่านสภาพอากาศ

useEffect ทำงานบน Mount เสมอหรือไม่

สำคัญ: useEffect hook จะทำงานบนการเมานต์เสมอโดยไม่คำนึงถึง หากมีอะไรอยู่ในอาร์เรย์การพึ่งพา เราอาจไม่ต้องการเรียกใช้เอฟเฟกต์นี้กับข้อมูลของเราจริง ๆ เมื่อไม่มีการกำหนด (เนื่องจากจะเป็นการเรนเดอร์เริ่มต้น) แต่เราต้องการรอจนกว่าจะมีการเติมข้อมูลจากการเรียก API

แนะนำ: