No video

useImperativeHandle | Как работает? Для чего нужен? Разбираемся на примерах

  Рет қаралды 3,318

Евгений Паромов | Front-end

Евгений Паромов | Front-end

Күн бұрын

Видео получилось очень комплементарным так что напишу тут:
Используйте этот подход с осторожностью!
Основа вашего приложения должна быть написана в декларативном стиле. Используйте этот хук только при работе с неуправляемыми компонентами, и если чётко понимаете, почему эти компоненты должны быть неуправляемыми
Подписывайтесь на мой telegram канал:
t.me/cleanfron...
Примеры кода:
codesandbox.io...
codesandbox.io...

Пікірлер: 21
@user-vm2db5cq1g
@user-vm2db5cq1g Жыл бұрын
самое лучшее и понятное объяснение этого хука что я видел)
@vladimirgaletinko8668
@vladimirgaletinko8668 Жыл бұрын
Интересное решение второго примера. Первое что в голову приходит это решить такую задачу с помощью event emitter.
@user-cs1wc4hl1k
@user-cs1wc4hl1k Жыл бұрын
класс! В названии опечатка. Спасибо за контент
@NataxaDikaya
@NataxaDikaya Жыл бұрын
Братан, хорош, давай, давай, вперёд! Контент в кайф, можно ещё? Вообще красавчик! Можно вот этого вот почаще?
@nikolaizarezako9344
@nikolaizarezako9344 Жыл бұрын
Круто! Продолжай!
@NikVolkov
@NikVolkov 5 ай бұрын
Объяснение хорошее. Однако, значительно понятнее, когда под объяснение идёт написание кода с нуля.
@CJIu3eHb
@CJIu3eHb Жыл бұрын
Все-таки с неймингом надо быть аккуратнее, особенно, когда тема непростая. Я, конечно, сам виноват, что забыл про существование колбек рефов, но это не отменяет того факта, что переменная *node* путает еще больше. _methodsRef={(node) => (childNodesRef.current[i] = node)}_ Это никакая не *node* (в контексте Tree или TreeNode), это скорее *childMethodsRefCurrent* . Тоже далеко не идеально, надо бы получше подумать.
@ReferenceError
@ReferenceError Жыл бұрын
Здравствуйте! Спасибо вам за контент) Не могли ли бы сделать ролик по тестированию? Сейчас начинаю писать новый проект и хочу покрыть его тестами. Но пока не понимаю, какой вид теста нужен в конкретном случае. Авторизация, например. Нужно ли в этом кейсе писать E2E, который проверяет весь сценарий? Достаточно ли Unit на запись токена LS / STM? Или надо написать оба варианта? Заранее спасибо!)
@paromovevg
@paromovevg Жыл бұрын
Тестирование - не самое сильное мое место, не так много практики было Пока контент не планирую делать по этой теме
@notsure8175
@notsure8175 10 ай бұрын
не очень понял
@BOCbMOU
@BOCbMOU Жыл бұрын
Откровенно говоря, не очень понимаю смысл существования данного хука. Он равносилен прямому присваиванию значения рефу: methodsRef.current = { ... } Разве что обёрнутого в юзЭффект.
@paromovevg
@paromovevg Жыл бұрын
Как минимум что он ещё обрабатывает callback рефы
@BOCbMOU
@BOCbMOU Жыл бұрын
@@paromovevg а тут уже возникает вопрос: а стоит ли вообще их использовать сегодня? Лично я не вижу причин для этого.
@paromovevg
@paromovevg Жыл бұрын
А как ты получишь рефы элементов списка?
@BOCbMOU
@BOCbMOU Жыл бұрын
@@paromovevg с помощью рефа. Можно пример? Возможно, я не так понял.
@FerelUltra
@FerelUltra 8 ай бұрын
@@BOCbMOU позволяет а) получить ссылки несколько нод. б) получить только необходимые методы, а не всю ноду
@shinauri1
@shinauri1 8 ай бұрын
Здравствуйте, Спасибо за контент. Я изменил строки в TreeNode: {hasChildren && isExpanded && ( {node.children?.map((childNode, i) => ( (childNodesRef.current[i] = node)} /> ))} )} на {hasChildren && isExpanded && ( (childNodesRef.current.push(node))} /> )} все работает все Ок! как вы думаете есть подводные камни в этой реализации?
@gaziev__9797
@gaziev__9797 Жыл бұрын
Братан, хорош, давай, давай, вперёд! Контент в кайф, можно ещё? Вообще красавчик! Можно вот этого вот почаще?
Когда DRY не работает! Копируй по SOLID (Показываю на примере)
17:03
Евгений Паромов | Front-end
Рет қаралды 1,6 М.
Dependency Inversion - главный инструмент Архитектора
37:17
Евгений Паромов | Front-end
Рет қаралды 5 М.
Секрет фокусника! #shorts
00:15
Роман Magic
Рет қаралды 32 МЛН
Кадр сыртындағы қызықтар | Келінжан
00:16
Before VS during the CONCERT 🔥 "Aliby" | Andra Gogan
00:13
Andra Gogan
Рет қаралды 10 МЛН
React Senior | Изучаем useLayoutEffect и callback Ref на реальном примере
25:21
Евгений Паромов | Front-end
Рет қаралды 2,9 М.
Правила быстрого обучения, которые ТЕБЕ НЕ ПОНРАВЯТСЯ
21:28
Евгений Паромов | Front-end
Рет қаралды 8 М.
#39 Разбираемся в Reconciliation на примерах  - ReactJS Полный курс
36:34
Евгений Паромов | Front-end
Рет қаралды 9 М.
Что такое Render и Commit в React
9:53
Dev Surge
Рет қаралды 3,4 М.
useTransition и useDeferredValue хуки в React
17:47
easydev
Рет қаралды 1,5 М.
Новые хуки useTransition и useDeferredValue в React 18
22:17
Михаил Непомнящий
Рет қаралды 22 М.
#36 Погружаемся в useRef  - ReactJS Полный курс
19:33
Евгений Паромов | Front-end
Рет қаралды 4,9 М.
Frontend Собеседование с разбором. Путь к трудоустройству 2024
41:18
Секрет фокусника! #shorts
00:15
Роман Magic
Рет қаралды 32 МЛН