обычной функции? ведь обе они возвращают одинаковый результат
Что такое функция очистки в useEffect? Ты имеешь ввиду функцию, которая выполняется после того, как компонент будет демонтирован? useEffect(() => { return clearFunc // <== эта? }, [deps])
в useEffect есть функция эффекта и после return идет функция очистки.. вот что именно она очищает? ведь несмотря на функцию очистки, функция эффекта всё равно будет выполнена... в таком случае не могу понять что функция очистки очищает?
Она ничего не очищает БУМ
тогда чем она отличается от обычного return в обычной функции?
простой пример - ты зашел на страницу, у тебя отобразился чат, в useEffect ты сделал подписку на вебсокет, чтобы следить за сообщениями потом перешел на другую страницу, когда именно тебе нужно отписаться от вебсокета, чтобы: 1) не выполнять бесполезные, а возможно и вредные, действия, когда придет сообщение (уже после выхода со страницы чата) 2) не застакать несколько подписок на сокет при повторном входе/выходе со страницы ты это делаешь именно в клинап функции эффекта подписки будет повторное срабатывание этого эффекта или анмаунт компонента - ты отпишешься, тем самым избежав двух указанных выше ситуаций
Обсуждают сегодня