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

Поділитися
Вставка
  • Опубліковано 18 лис 2024

КОМЕНТАРІ • 21

  • @АнатолийГорбов-о1ь

    самое лучшее и понятное объяснение этого хука что я видел)

  • @vladimirgaletinko8668
    @vladimirgaletinko8668 Рік тому

    Интересное решение второго примера. Первое что в голову приходит это решить такую задачу с помощью event emitter.

  • @NataxaDikaya
    @NataxaDikaya Рік тому +1

    Братан, хорош, давай, давай, вперёд! Контент в кайф, можно ещё? Вообще красавчик! Можно вот этого вот почаще?

  • @u234-u3p
    @u234-u3p Рік тому

    класс! В названии опечатка. Спасибо за контент

  • @nikolaizarezako9344
    @nikolaizarezako9344 Рік тому

    Круто! Продолжай!

  • @CJIu3eHb
    @CJIu3eHb Рік тому +1

    Все-таки с неймингом надо быть аккуратнее, особенно, когда тема непростая. Я, конечно, сам виноват, что забыл про существование колбек рефов, но это не отменяет того факта, что переменная *node* путает еще больше.
    _methodsRef={(node) => (childNodesRef.current[i] = node)}_
    Это никакая не *node* (в контексте Tree или TreeNode), это скорее *childMethodsRefCurrent* . Тоже далеко не идеально, надо бы получше подумать.

  • @ReferenceError
    @ReferenceError Рік тому

    Здравствуйте! Спасибо вам за контент)
    Не могли ли бы сделать ролик по тестированию? Сейчас начинаю писать новый проект и хочу покрыть его тестами. Но пока не понимаю, какой вид теста нужен в конкретном случае.
    Авторизация, например. Нужно ли в этом кейсе писать E2E, который проверяет весь сценарий? Достаточно ли Unit на запись токена LS / STM? Или надо написать оба варианта?
    Заранее спасибо!)

    • @paromovevg
      @paromovevg  Рік тому

      Тестирование - не самое сильное мое место, не так много практики было
      Пока контент не планирую делать по этой теме

  • @NikVolkov
    @NikVolkov 7 місяців тому

    Объяснение хорошее. Однако, значительно понятнее, когда под объяснение идёт написание кода с нуля.

  • @notsure8175
    @notsure8175 Рік тому +1

    не очень понял

  • @BOCbMOU
    @BOCbMOU Рік тому

    Откровенно говоря, не очень понимаю смысл существования данного хука. Он равносилен прямому присваиванию значения рефу:
    methodsRef.current = { ... }
    Разве что обёрнутого в юзЭффект.

    • @paromovevg
      @paromovevg  Рік тому

      Как минимум что он ещё обрабатывает callback рефы

    • @BOCbMOU
      @BOCbMOU Рік тому

      @@paromovevg а тут уже возникает вопрос: а стоит ли вообще их использовать сегодня? Лично я не вижу причин для этого.

    • @paromovevg
      @paromovevg  Рік тому

      А как ты получишь рефы элементов списка?

    • @BOCbMOU
      @BOCbMOU Рік тому

      @@paromovevg с помощью рефа. Можно пример? Возможно, я не так понял.

    • @FerelUltra
      @FerelUltra 11 місяців тому

      @@BOCbMOU позволяет а) получить ссылки несколько нод. б) получить только необходимые методы, а не всю ноду

  • @shinauri1
    @shinauri1 11 місяців тому

    Здравствуйте, Спасибо за контент.
    Я изменил строки в TreeNode:
    {hasChildren && isExpanded && (

    {node.children?.map((childNode, i) => (
    (childNodesRef.current[i] = node)}
    />
    ))}

    )}
    на
    {hasChildren && isExpanded && (
    (childNodesRef.current.push(node))}
    />
    )}
    все работает все Ок! как вы думаете есть подводные камни в этой реализации?

  • @gaziev__9797
    @gaziev__9797 Рік тому

    Братан, хорош, давай, давай, вперёд! Контент в кайф, можно ещё? Вообще красавчик! Можно вот этого вот почаще?