169 похожих чатов

Подскажите, когда выболняется unsub? при анмаунте? useEffect(() => { function

handleStatusChange(status) {
setIsOnline(status.isOnline);
}

ChatAPI.subscribeToFriendStatus(props.friend.id, handleStatusChange);
return () => {
ChatAPI.unsubscribeFromFriendStatus(props.friend.id, handleStatusChange);
};
}, [props.friend.id]);

24 ответов

1 просмотр

по идее при анмаунте компонента, но зачем тут handle status создается в еффекте?

Нет, перед следующим выполнением этого эффекта

@DS-🎭 Автор вопроса

это с доки пример

но прикол в том что она постоянно будет создаваться

@DS-🎭 Автор вопроса

а какая альтернатива?

так просто вынести с useEffect, а оттуда ее вызывать, а создавать в компоненте

@DS-🎭 Автор вопроса

в конструкторе типа?

это же функциональный тут нет конструктора

почему постоянно?

при отработки еффекта

там пустые зависимости это ровно одна отработка, т.е. === размонтирование будет

а так разве не будет создаваться на каждом рендере?

только при маунте, при рерентдере создаются, когда ты стрелочную вешаешь на onClick в DOMe и те, что в useEffecte при срабатываниии эффектов

каким образом только при маунте, если тело функционального компонента выполняется на каждом рендере, и там будет объявлена функция?

мне ментор обьяснял, что функции в теле хранятся в памяти и заново не создаются

что за память такая?

Увы, он не прав

Вот примерный код, который доказывает обратное, если покликать на кнопку и посмотреть вывод в консоль https://codesandbox.io/s/wonderful-mendeleev-bzfey?file=/src/App.js

ща, попытаюсь чтото в нете найти

Код же подтверждает что нет равенства между функциями

но тут может useRef перезаписывается, и потому он не равен, а может и наоборот. Хочу найти какое-то четкое обьяснение чтобы для себя понять как оно на самом деле

что значит useRef перезаписывается, где? Зачем бы он тогда был нужен?

и зачем бы тогда был нужен useCallback, если бы всё так работало?

похоже я потерпел фиаско, немогу ничего придумать в оправдание

Похожие вопросы

Обсуждают сегодня

я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
в сях есть множество как в питоне? для удаление дубликатов
Linus
25
читать файл максимально быстро? странный вопрос))
zamtmn
53
How to create an OS in C? what to study?
Linus
18
тоесть, указав return eax, сгенерируется никому ненужная инструкция mov eax,eax ?
Aiwan \ (•◡•) / _bot
24
Всем доброго вечера! Хочу поделиться своим злоключением с человеком, который, как оказалось сюда тоже скидывал свое резюме. Жаль, что я вашу группу не нашел раньше… человек ки...
Роман Ахмедзянов
4
а как бы вылезти из ИО, что то типа IO -> Ether или в какую сторону смотреть ? что то туплю
Fedor
8
Компания Elif ищет менеджера проектов, который будет заниматься поиском и ведением новых проектов. Прежде чем приступить к работе, вам нужно пройти наш недельный курс, где вы ...
Elif
5
Привет, кто может сделать юзербота с апи? Задачи: - создавать группы - создавать каналы - задавать для созданных каналов аватарку или эмоджи, имя группы - добавлять в группы...
Lencore
11
а зачем этот вопрос для удаления из чата?
Mёdkinson Medvezhkin
63
Карта сайта