6
วิธีการเรียกฟังก์ชั่นการโหลดด้วย React useEffect เพียงครั้งเดียว
useEffect React เบ็ดจะทำงานที่ผ่านมาในการทำงานในทุกการเปลี่ยนแปลง สิ่งนี้สามารถปรับให้เหมาะสมเพื่อให้มันโทรเฉพาะเมื่อคุณสมบัติที่ต้องการเปลี่ยนไป จะเกิดอะไรขึ้นถ้าฉันต้องการเรียกใช้ฟังก์ชันการเริ่มต้นcomponentDidMountและไม่เรียกมันอีกครั้งจากการเปลี่ยนแปลง สมมติว่าฉันต้องการโหลดเอนทิตี แต่ฟังก์ชั่นการโหลดไม่ต้องการข้อมูลใด ๆ จากส่วนประกอบ เราจะทำสิ่งนี้โดยใช้useEffectเบ็ดได้อย่างไร class MyComponent extends React.PureComponent { componentDidMount() { loadDataOnlyOnce(); } render() { ... } } ด้วย hooks นี้อาจมีลักษณะเช่นนี้: function MyComponent() { useEffect(() => { loadDataOnlyOnce(); // this will fire on every change :( }, [...???]); return (...); }