React hooks. useMemo и useCallback это плохо? Когда лучше использовать? React.memo

  Рет қаралды 1,352

WebStack - Frontend

WebStack - Frontend

Күн бұрын

Пікірлер: 23
@WinchesterD
@WinchesterD Жыл бұрын
Спасибо за видео, готовлюсь к интервью по Реакту, закрепляю знания.
@webstack-frontend1697
@webstack-frontend1697 Жыл бұрын
Спасибо за поддержку! Удачи на интервью
@autumn4421
@autumn4421 11 ай бұрын
Огромное спасибо ❤ Никак не помог понять, а надо ли ине вообще их использования использовать и что именно стоит применять Надеюсь канал получит скачок в популярности
@webstack-frontend1697
@webstack-frontend1697 11 ай бұрын
Спасибо за поддержку!
@dtlnfs
@dtlnfs Жыл бұрын
Дядька, идеальное объяснение, особенно пример с useCallback потрясный, молодчик! Спасибо большое
@webstack-frontend1697
@webstack-frontend1697 Жыл бұрын
Спасибо за поддержку!
@Туран141
@Туран141 Жыл бұрын
Спасибо большое
@ВладиславРассолов-к5з
@ВладиславРассолов-к5з Жыл бұрын
Спасибо за информацию)
@дэрафдэраф
@дэрафдэраф Жыл бұрын
Крутое видео !!!
@kokomin1196
@kokomin1196 9 ай бұрын
Посмотрев твое видео я наконец то понял, зачем нужны useMemo и useCallback и как они работают, большинство роликов на эту тему, просто мусор. Низкий поклон за труды!
@webstack-frontend1697
@webstack-frontend1697 9 ай бұрын
Спасибо за поддержку!
@jamjam3337
@jamjam3337 Жыл бұрын
👏👍
@kawaikaino5277
@kawaikaino5277 Жыл бұрын
Работаю с реактом давно, но буквально на днях (к своему стыду) узнал что - useEffect, при любом количестве зависимостей в массиве зависимостей, рендерит 1 раз ВСЕГДА! А потом уже, при последующих рендерах смотрит в массив зависимостей, если поменялось что-то рендерит повторно. Если у вас скажем 3 useEffect-а в компоненте с разными зависимостями, все выполнятся 1 раз при первом рендере (зависимости игнорируются) Может кому-то поможет. Обычно ставлю проверки внутри useEffect и как-то не замечал...
@webstack-frontend1697
@webstack-frontend1697 Жыл бұрын
Да, все верно. Он выполнится первый раз при маунте компоненты. Если вдруг этого нужно избежать, прибегают к хитрости. Создают ref со значением false, а внутри колбека делают проверку if (ref.current) {...} ref.current = true И таким образом наш эффект сработает, но действие при маунте не выполнится. Иногда это даже выносится в кастомный хук useEffectAfterMount
@АлександрЕрмолов-п2ь
@АлександрЕрмолов-п2ь Жыл бұрын
мне кажется или все-таки на 7-30 и 7-35 curency пересчитывается и отрисовывается еще раз... что-то не работает там у тебя useMemo
@webstack-frontend1697
@webstack-frontend1697 Жыл бұрын
а как вы это определили?
@АлександрЕрмолов-п2ь
@АлександрЕрмолов-п2ь Жыл бұрын
@@webstack-frontend1697 видно, же в консоли, что currency отрисовывается еще раз... currency dark и currency light. + я повторил все, и у меня тоже отрисовывается...
@webstack-frontend1697
@webstack-frontend1697 Жыл бұрын
@@АлександрЕрмолов-п2ь компонента всегда будет перерисовываться при изменение пропсов. useMemo нужен для того, чтобы при перерисовке компоненты объект с валютами не создавался заново и не производились все операции по вычислению. Он просто будет взят из кеша. В консоли в этого не увидите
@АлександрЕрмолов-п2ь
@АлександрЕрмолов-п2ь Жыл бұрын
@@webstack-frontend1697 Значит я не правильно понял )) так как при useCalback не ререндерится кнопка... я думал, что смыл в том, чтобы не ререндерить компонент....Тогда нужно в React.memo оборачивать.. понял...
@webstack-frontend1697
@webstack-frontend1697 Жыл бұрын
@@АлександрЕрмолов-п2ь там работает связка из React.memo + useCallback. useMemo это уже другая история)
@олигТвистер
@олигТвистер Жыл бұрын
Научи так же жестко чуствовать
@webstack-frontend1697
@webstack-frontend1697 Жыл бұрын
Придет с опытом)
Зачем на самом деле нужен хук useCallback
8:33
Михаил Непомнящий
Рет қаралды 44 М.
Learn React Hooks: useLayoutEffect - Simply Explained!
9:17
Cosden Solutions
Рет қаралды 20 М.
Trick-or-Treating in a Rush. Part 2
00:37
Daniel LaBelle
Рет қаралды 45 МЛН
React 15: Хук useMemo и useCallback
13:38
Школа web-программирования Constcode
Рет қаралды 27 М.
Мемоизация в React. Хуки useMemo, useCallback
9:35