Skip to content
56 / 98

Как React определяет, когда компонент нужно размонтировать?

React определяет размонтирование во время reconciliation (сравнения старого и нового дерева). Если элемент присутствовал в старом дереве, но отсутствует в новом — его Fiber-нода получает флаг Deletion. Это происходит в трёх случаях: элемент убран из JSX (условный рендеринг), изменился тип компонента (div на span, ComponentA на ComponentB), или изменился key. В commit-фазе React вызывает cleanup-функции эффектов, componentWillUnmount, обнуляет ref и удаляет DOM-ноды.

Как React определяет, когда компонент нужно размонтировать? | JScriptiser