Използвайки react-router можете лесно да предотвратите промяната на маршрута (което ще предотврати демонтирането на компонента), като използвате Prompt. Трябва ръчно да предадете опората getUserConfirmation, която е функция. Можете да промените тази функция, както желаете във всеки рутер (браузър, памет или хеш), за да създадете своя персонализиран диалогов прозорец за потвърждение (напр.
Какво причинява демонтиране на компонент?
Компонентите са демонтирани когато родителският компонент вече не се изобразява или родителският компонент извършва актуализация, която не изобразява този екземпляр.
Как реагира демонтирането на компонент?
Демонтиране на React Node
React има API от най-високо ниво, наречен unmountComponentAtNode, който премахва компонент от конкретен контейнер. Функцията unmountComponentAtNode приема аргумент като контейнер, от който конкретният компонент трябва да бъде премахнат.
Какво е демонтирането на компонент?
Целта на този метод е да унищожи страничните ефекти, създадени от компонента След като компонентът бъде демонтиран, не можем да го използваме отново. Всеки път, когато се създава нов компонент. Също така, ако няма разлика във виртуалния dom и действителния dom, реакцията може да спре и фазата на актуализиране.
Как да разбера дали даден компонент е демонтиран?
Просто задайте свойство _isMounted на true в componentDidMount и го задайте на false в componentWillUnmount и използвайте тази променлива, за да проверите състоянието на вашия компонент. Оптималното решение би било да се намерят места, където setState може да бъде извикан, след като компонентът е демонтиран, и да се коригират.