4 Atsakymai. VirtualDOM suderinimo metu, jei komponentas egzistavo, bet nebebus, komponentas laikomas neprijungtu ir jam suteikiama galimybė išvalyti (naudojant komponentąWillUnmount). Nugriaunant medį sunaikinami seni DOM mazgai. Komponento egzemplioriai gauna komponentąWillUnmount.
Kodėl mano komponentas atjungiamas „React“?
Komponentai atjungiami kai pirminis komponentas nebeteikiamas arba pagrindinis komponentas atlieka atnaujinimą, kuris nepateikia šio egzemplioriaus. ReactDOM. unmountComponentAtNode taip pat suaktyvins atjungimą.
Kaip sustabdyti komponentų atjungimą?
Naudodami react-router galite lengvai užkirsti kelią maršruto keitimui (dėl to bus išvengta komponento atjungimo) naudodami Prompt. Turite rankiniu būdu perduoti getUserConfirmation pasiūlymą, kuris yra funkcija. Šią funkciją galite keisti kaip norite bet kuriame maršrutizatoriuje (naršyklėje, atmintyje arba maišos sistemoje), kad sukurtumėte pasirinktinį patvirtinimo dialogą (pvz.,
Kas yra komponento atjungimas?
componentWillUnmount yra paskutinė funkcija, kuri iškviečiama prieš pat komponento pašalinimą iš DOM. Paprastai jis naudojamas norint išvalyti visus DOM elementus arba laikmačius, sukurtus komponenteWillMount. Iškylos metu komponentasWillUnmount atitinka prieš pasiimant iškylos antklodę.
Kas suaktyvina komponentąWillUnmount?
componentWillUnmount yra iššaukiamas prieš patkomponentas yra atjungtas ir sunaikintas. Atlikite bet kokį būtiną valymą šiuo metodu, pvz., panaikinkite laikmačius, atšaukkite tinklo užklausas arba išvalykite prenumeratas, kurios buvo sukurtos komponenteDidMount.