Тёмный

Стабильные и нестабильные значения в React 

easydev
Подписаться 4,2 тыс.
Просмотров 765
50% 1

Опубликовано:

 

28 авг 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 10   
@kreet4855
@kreet4855 8 месяцев назад
Полезно, спасибо!
@user-ok4uq8rp5m
@user-ok4uq8rp5m 8 месяцев назад
Изначально посыл неверный: в зависимости useEffect не нужно добавлять все, что используется в колбеке (т.к. useEffect не мемоизирует колбек в отличие от useMemo или useCallback) Так что надо было в самом начале видео оставить пустой массив зависимостей - и все.
@easydev1205
@easydev1205 8 месяцев назад
react.dev/reference/react/useEffect#specifying-reactive-dependencies
@user-ok4uq8rp5m
@user-ok4uq8rp5m 8 месяцев назад
​​@@easydev1205, а статье рассказывается о том как бороться с линтером - и самый простой способ это заткнуть его добавив все зависимости. Но ничего не сказано почему надо добавлять в зависимости еффекта то, от чего я не хочу зависеть (кроме обтекаемой фразы "это опасно")
@easydev1205
@easydev1205 8 месяцев назад
Это опасно потому что стейт должен быть синхронизирован. Иначе могут вылезти трудноуловимые баги. Что и логично, учитывая для чего вообще нужен useEffect и как он работает. В некоторых случаях можно подавить предупреждение линтера и всё будет работать корректно. Общее же правило для этой ситуации ясно описано в документации. Следовать ему или нет решать вам
@user-ok4uq8rp5m
@user-ok4uq8rp5m 8 месяцев назад
​@@easydev1205, useEffect нужен для реагирования на определенные изменения. Если мне не нужно реагировать на изменение функции fetch (как в вашем примере) а просто надо ее вызвать один раз при маунте компоненты (пустой массив зависимостей) или перевызвать ее при изменении каких-то аргументов (тогда эти аргументы следует поместить в зависимости но никак не саму функцию!) У вас очень неудачный пример в видео.
@easydev1205
@easydev1205 8 месяцев назад
useEffect нужен не для реагирования на определенные изменения, а для вызова side effect, о чём и говорит его название. А в зависимости вы помещаете стейт который нужно синхронизировать. У вас просто неверное понимание что такое useEffect, поэтому и вопросы такие возникают. Может сделаю отдельное видео об этом
@NikolayKasparov
@NikolayKasparov 8 месяцев назад
Понравился один урок подписался на этот канал, после этого отписался ❤
@easydev1205
@easydev1205 8 месяцев назад
Зря отписываетесь. Может ещё что-то полезное будет
Далее
I Built a WATERPARK In My House!
26:28
Просмотров 21 млн
what will you choose? #tiktok
00:14
Просмотров 6 млн
Что такое Render и Commit в React
9:53
Просмотров 3,5 тыс.
Голливудский конвейер звёзд
29:20
Redis за 20 минут
23:22
Просмотров 130 тыс.