Все-таки с неймингом надо быть аккуратнее, особенно, когда тема непростая. Я, конечно, сам виноват, что забыл про существование колбек рефов, но это не отменяет того факта, что переменная *node* путает еще больше. _methodsRef={(node) => (childNodesRef.current[i] = node)}_ Это никакая не *node* (в контексте Tree или TreeNode), это скорее *childMethodsRefCurrent* . Тоже далеко не идеально, надо бы получше подумать.
Здравствуйте! Спасибо вам за контент) Не могли ли бы сделать ролик по тестированию? Сейчас начинаю писать новый проект и хочу покрыть его тестами. Но пока не понимаю, какой вид теста нужен в конкретном случае. Авторизация, например. Нужно ли в этом кейсе писать E2E, который проверяет весь сценарий? Достаточно ли Unit на запись токена LS / STM? Или надо написать оба варианта? Заранее спасибо!)
Откровенно говоря, не очень понимаю смысл существования данного хука. Он равносилен прямому присваиванию значения рефу: methodsRef.current = { ... } Разве что обёрнутого в юзЭффект.
)} на {hasChildren && isExpanded && ( (childNodesRef.current.push(node))} /> )} все работает все Ок! как вы думаете есть подводные камни в этой реализации?
самое лучшее и понятное объяснение этого хука что я видел)
Интересное решение второго примера. Первое что в голову приходит это решить такую задачу с помощью event emitter.
Братан, хорош, давай, давай, вперёд! Контент в кайф, можно ещё? Вообще красавчик! Можно вот этого вот почаще?
класс! В названии опечатка. Спасибо за контент
Круто! Продолжай!
Все-таки с неймингом надо быть аккуратнее, особенно, когда тема непростая. Я, конечно, сам виноват, что забыл про существование колбек рефов, но это не отменяет того факта, что переменная *node* путает еще больше.
_methodsRef={(node) => (childNodesRef.current[i] = node)}_
Это никакая не *node* (в контексте Tree или TreeNode), это скорее *childMethodsRefCurrent* . Тоже далеко не идеально, надо бы получше подумать.
Здравствуйте! Спасибо вам за контент)
Не могли ли бы сделать ролик по тестированию? Сейчас начинаю писать новый проект и хочу покрыть его тестами. Но пока не понимаю, какой вид теста нужен в конкретном случае.
Авторизация, например. Нужно ли в этом кейсе писать E2E, который проверяет весь сценарий? Достаточно ли Unit на запись токена LS / STM? Или надо написать оба варианта?
Заранее спасибо!)
Тестирование - не самое сильное мое место, не так много практики было
Пока контент не планирую делать по этой теме
Объяснение хорошее. Однако, значительно понятнее, когда под объяснение идёт написание кода с нуля.
не очень понял
Откровенно говоря, не очень понимаю смысл существования данного хука. Он равносилен прямому присваиванию значения рефу:
methodsRef.current = { ... }
Разве что обёрнутого в юзЭффект.
Как минимум что он ещё обрабатывает callback рефы
@@paromovevg а тут уже возникает вопрос: а стоит ли вообще их использовать сегодня? Лично я не вижу причин для этого.
А как ты получишь рефы элементов списка?
@@paromovevg с помощью рефа. Можно пример? Возможно, я не так понял.
@@BOCbMOU позволяет а) получить ссылки несколько нод. б) получить только необходимые методы, а не всю ноду
Здравствуйте, Спасибо за контент.
Я изменил строки в TreeNode:
{hasChildren && isExpanded && (
{node.children?.map((childNode, i) => (
(childNodesRef.current[i] = node)}
/>
))}
)}
на
{hasChildren && isExpanded && (
(childNodesRef.current.push(node))}
/>
)}
все работает все Ок! как вы думаете есть подводные камни в этой реализации?
Братан, хорош, давай, давай, вперёд! Контент в кайф, можно ещё? Вообще красавчик! Можно вот этого вот почаще?