В функциональных компонентах React эквивалент фазы размонтирования компонента в компонентах класса достигается с помощью функции очистки хука useEffect. Когда компонент размонтирован, вы можете выполнять задачи очистки, такие как отписка от прослушивателей событий, отмена сетевых запросов или завершение работы таймеров. Вот несколько методов, которые вы можете использовать для обработки размонтирования компонентов в функциональном React:
-
Использование перехватчика
useEffectс функцией очистки:useEffect(() => { // Perform setup tasks return () => { // Perform cleanup tasks }; }, []);Предоставляя пустой массив зависимостей (
[]), вы гарантируете, что функция очистки будет вызываться только тогда, когда компонент размонтирован. -
Использование пользовательского перехватчика.
Вы можете создать собственный перехватчик, чтобы инкапсулировать логику размонтирования и повторно использовать ее в нескольких компонентах. Вот пример:function useUnmount(callback) { useEffect(() => { return callback; }, []); } // Usage: useUnmount(() => { // Perform cleanup tasks }); -
Эквивалент компонента класса.
Если вам нужно использовать эквивалент компонента класса в функциональном компоненте, вы можете использовать хукuseEffectс пустым массивом зависимостей и вернуть функцию как функция очистки.