effect_tw
@effect_tw

В каких случаях сработает данный useEffect?

В коде ниже useEffect в зависимостях, хранит ссылку на handler , как я понял она будет постоянной , из-за того что handler обернут в useCallback, т.е handler вроде как никогда не измениться, тогда какой смысл его указывать в массиве зависимостей?
const handler = useCallback(() => { 
// что-то сделать 
}, []) 
useEffect(() => {
 handler(value) 
// если не использовать useCallback, эффект будет срабатывать постоянно 
},
 [handler, value])
  • Вопрос задан
  • 52 просмотра
Решения вопроса 1
@abberati
frontend-разработчик
В каких случаях сработает данный useEffect?

Когда изменится value или handler

Какой смысл его указывать в массиве зависимостей?

Если код никогда-никогда не будет меняться, будет напечатан на золотой пластинке и отправлен в космос, то смысла нет.
Если же код будет поддерживаться и меняться, то в будущем может возникнуть ситуация, когда в useCallback появятся зависимости, то есть handler будет меняться. А useEffect об этом не узнает и возникнет баг.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы