Skip to main content
Практика завдань

Методи життєвого циклу компонентів у React

Що таке життєвий цикл компонент?

Життєвий цикл компонент в React — це послідовність етапів, які компонент проходить від свого створення до видалення з DOM.

Життєвий цикл існує лише для класових компонентів, але його поведінку можна відтворити за допомогою хуків у функціональних компонентх.


Етапи життєвого циклу

Життєвий цикл ділиться на 3 ключові фази:

ФазаОпис
МонтуванняМомент, коли компонент з'являється в DOM
ОновленняОновлення компонент, коли відбуваються зміни
ВидаленняВидалення компонент з DOM

Методи фази монтування

МетодКоли викликається
constructorУ момент створення компонент
static getDerivedStateFromPropsПеред рендерингом (рідко використовується)
renderОбов'язковий метод, повертає JSX
componentDidMountПісля монтування в DOM

Методи фази оновлення

МетодКоли викликається
static getDerivedStateFromPropsКоли оновлюються пропси
shouldComponentUpdateПеред повторним рендерингом (може скасувати його)
renderПри кожному оновленні
getSnapshotBeforeUpdateСnapshot DOM перед оновленням
componentDidUpdateПісля оновлення компонент

Метод фази видалення

МетодКоли викликається
componentWillUnmountПеред видаленням компонент з DOM

Еквіваленти функціонального компонент

Функції хуків дозволяють відтворити поведінку життєвого циклу:

Метод класуХук у функції
componentDidMountuseEffect(() => {}, [])
componentDidUpdateuseEffect(() => {...}, [dep])
componentWillUnmountuseEffect(() => { return () => {...} }, [])
shouldComponentUpdateReact.memo() + useCallback, useMemo

Приклад використання хуків

tsx
import { useEffect } from "react"; function MyComponent() { useEffect(() => { console.log("Монтування компонент"); return () => { console.log("Видалення компонент"); }; }, []); return <div>Привіт!</div>; }

Порада:

У нових проектах краще використовувати функціональні компоненти з хуками — вони простіші, лаконічніші і рекомендовані спільнотою React.

Коротка відповідь

Для співбесіди
Premium

Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.

Дочитали статтю?
Практика завдань