Middle
Aké metódy životného cyklu existujú v React a ako ich emulovať pomocou useEffect?
sobes.tech AI
Odpoveď od AI
V triedovej komponentne React existuje niekoľko metód životného cyklu, z ktorých hlavné sú:
componentDidMount— je volaná po namontovaní komponentu;componentDidUpdate— je volaná po aktualizácii komponentu;componentWillUnmount— je volaná pred odmontovaním komponentu.
V funkčných komponentoch s hookom useEffect je možné tieto metódy emulovať nasledovne:
import React, { useEffect } from 'react';
function MyComponent(props) {
// componentDidMount
useEffect(() => {
// kód, ktorý sa vykoná raz po namontovaní
console.log('Mounted');
}, []); // prázdny zoznam závislostí
// componentDidUpdate
useEffect(() => {
// kód, ktorý sa vykoná pri zmene props alebo stavu
console.log('Updated');
}); // bez druhého argumentu — volá sa po každom renderi
// componentWillUnmount
useEffect(() => {
return () => {
// kód na vyčistenie pred odmontovaním
console.log('Unmounted');
};
}, []);
return <div>{props.value}</div>;
}
Takto useEffect s prázdnym poľom závislostí emuluje componentDidMount a componentWillUnmount (cez funkciu na vyčistenie), a useEffect bez druhého argumentu — componentDidUpdate.