Учу JS
Учу JS
  • Видео 8
  • Просмотров 4 437
Оптимизация Реакт. ч.3 useCallback и useMemo
Продолжение серии об оптимизации работы Реакт приложения.
useCallback и useMemo. Хуки для мемоизации функций и результатов расчетов. Подробнее в ролике.
Просто о серьезном.
ruclips.net/video/FmyKT2eYM0o/видео.html Начало серии
ruclips.net/video/OZOkihD1ePI/видео.html Часть 2-я
Просмотров: 73

Видео

Drag-and-Drop с использованием библиотеки React-DnD.
Просмотров 1,3 тыс.7 месяцев назад
Продолжение ролика про Драг-н-Дроп. Здесь мы реализуем тот-же функционал перетаскивания элементов, но уже с использованием библиотеки React-DnD. Кроме получения точно такого-же функционала, добавим немного бантиков за счет использования бибилиотеки. Для более крутого освоения указанной либы прошу читать доку react-dnd.github.io/react-dnd/about. Что из часто используемого могу сразу посоветовать...
Для чего нужен Portal в React и как его использовать.
Просмотров 1,2 тыс.7 месяцев назад
Создадим модальное окно с помощью Портала в Реакте. Постараемся разобраться, что такое Portal и для чего он появился в React.
Drag-and-Drop в React основа
Просмотров 1,3 тыс.7 месяцев назад
Рассмотрим ванильный вариант реализации Драг-н-Дропа средствами JS. Ссылка на песочницу с решением, которое было написано в ролике codesandbox.io/s/dnd-base-39lm6c
Оптимизация Реакт - мемо
Просмотров 728 месяцев назад
Продолжение серии об оптимизации работы Реакт приложения. Компонент часто перерисовывается? А что если в нем сложная и тяжелая логика, большие расчеты или обработка большого массива? Попробуем разобраться на простом примере, как избавится от лишних рендеров дочерних компонентов. Просто о серьезном.
Оптимизация работы Реакт приложения. ч.1 Инструменты разработчика - Profiler
Просмотров 2728 месяцев назад
Этим роликом начинается цикл из нескольких видео для начинающих Реакт разработчиков по основам оптимизации работы Реакт приложения. Как узнать какой компонент тормозит работу приложения, какой слишком часто перерисовывается, а какой постоянно заставляет перерисовываться дочерних. Все это можно узнать в профайлере. Как? Все в этом видео. Просто о серьезном. Использованные инструменты или ссылки,...
Кастомный хук 2 часть
Просмотров 839 месяцев назад
Продолжение рассказа про создание кастомных кухов. Мы создадим еще один хук, который позволяет сохранять данные в локальное хранилище браузера. Попутно узнаем, что это за хранилище, где оно находится и как с ним работать. Ссылка на песочницу, где можно посмотреть созданное решение codesandbox.io/p/sandbox/hook-usestorage-mln8qg?file=/src/index.js
Кастомный хук 1 часть
Просмотров 1629 месяцев назад
Рассмотрим что такое кастомный хук и как его создать на примере простейшей функции, которая контролирует открытие или закрытие чего-либо.

Комментарии

  • @user-vo9pq4jc4y
    @user-vo9pq4jc4y 10 дней назад

    Вам огромное спасибо

  • @user-ht9pe2vj5k
    @user-ht9pe2vj5k 2 месяца назад

    Подскажите, как получить свойство хоть какое-то из глобального состояния в юзДраг.

  • @someChicoRy
    @someChicoRy 3 месяца назад

    Круто, спасибо

  • @andreychiglintcew5024
    @andreychiglintcew5024 4 месяца назад

    Подскажите, как вызвать меню выбора иконок ? 10:48 пример вставки х

    • @Learn_JS
      @Learn_JS 4 месяца назад

      На маке ctrl+cmd+space

    • @andreychiglintcew5024
      @andreychiglintcew5024 4 месяца назад

      @@Learn_JS как круто! Огромное спасибо) с 2015 пользуюсь маком, но никогда не сталкивался с этой фишкой)

  • @RewCSharp
    @RewCSharp 4 месяца назад

    У меня одного ничего не работает при том, что я полностью повторил код?

    • @ant3413
      @ant3413 29 дней назад

      Учиться надо было, а не как ты в компуктер всю жизнь играл...а теперь не внимательный стал... Учи и не позорься тут...и все заработает у тебя Аливидерчи

  • @maksimvashkevich1429
    @maksimvashkevich1429 5 месяцев назад

    Насколько помню, затеняющий слой можно получить при помощи использования jsx тега dialog вместо div. Поправьте, если не так.

    • @Learn_JS
      @Learn_JS 4 месяца назад

      Можно использовать <dialog> и вообще не делать портал, но тогда это решение не будет соответствовать теме ролика 😀

  • @maksimvashkevich1429
    @maksimvashkevich1429 5 месяцев назад

    Привет! Как ты смотришь на то, чтобы вместо создания лишней функции onClose просто передавать в модалку setModalOpen, а уже в самом компоненте при нажатии на кнопку закрывания модалки просто менять стейт на противоположный ( onClick={ () => onClose(prev => !prev) } )?

    • @Learn_JS
      @Learn_JS 4 месяца назад

      Не очень хорошо, так как сама модалка не должна знать, что там делается при закрытии, нам может понадобиться не только ее саму свернуть, но выполнить дополнительные действия.

  • @RamaRama-qv3jo
    @RamaRama-qv3jo 5 месяцев назад

    Если так углубленно рассмотрено создание модального окна, то стоило сразу показать хорошие практики и добавлять-удалять из DOM по клику элемент.

  • @artemzalevsky1857
    @artemzalevsky1857 6 месяцев назад

    Привет, классное видео. Подскажи плз как убрать прозрачность элемента, который мы перетаскиваем используя данную библиотеку. Тоесть не элемента который остается пока на старом месте как у тебя, а именно который за курсором перемещается. Спасибо!

    • @Learn_JS
      @Learn_JS 5 месяцев назад

      В зависимости от задачи можно использовать или дополнительный слой для отображения перетаскиваемого элемента (react-dnd.github.io/react-dnd/examples/drag-around/custom-drag-layer) или подменять отображение перетаскиваемого элемента своим собственным (react-dnd.github.io/react-dnd/examples/customize/handles-and-previews)

  • @vzonemax
    @vzonemax 6 месяцев назад

    Спасибо за видео. Я так понимаю, что портал также может решить проблему излишнего дриллинга пропсами / ререндеринга?

    • @Learn_JS
      @Learn_JS 5 месяцев назад

      Для решения проблемы излишнего дриллинга лучше использовать контекст или стэйт менеджер. Портал все-же про создание физического блока в разметке, в который можно рендерить контент. Если проблема с лишними рендерингами, то тогда мемоизация или изначально корректное проектирование.

  • @Otec_S
    @Otec_S 6 месяцев назад

    Спасибо, использую такой хук в дипломе на Практикуме )

  • @Otec_S
    @Otec_S 6 месяцев назад

    Большое спасибо, очень доходчиво!

  • @ProCoder777
    @ProCoder777 6 месяцев назад

    Надо же! Столько лет на реакте уже пишу, коллеги давно кличут уважительно 'синьор', а таких полезных фишек не знал! Однозначно полезнейший канал!

  • @alexanderrogulin6293
    @alexanderrogulin6293 6 месяцев назад

    Спасибо за видео, ты облегчил мне жизнь )

    • @Learn_JS
      @Learn_JS 6 месяцев назад

      Здорово. Уже не зря все это.

  • @multtanker6365
    @multtanker6365 6 месяцев назад

    лайков

  • @multtanker6365
    @multtanker6365 6 месяцев назад

    спасибо за видос)

  • @kspshnik
    @kspshnik 7 месяцев назад

    Серёж, а useMemo() ты только планируешь показать, да?

  • @user-ni4rb5bv5t
    @user-ni4rb5bv5t 7 месяцев назад

    Пушка, только шрифт побольше)

  • @user-wy8et6pn4r
    @user-wy8et6pn4r 7 месяцев назад

    забайтился на DnD и картинку, ожидая Dungeon&Dragons в программировании

    • @aratemori
      @aratemori 7 месяцев назад

      тоже самое

    • @ProCoder777
      @ProCoder777 7 месяцев назад

      Те кто в теме знают - эта штука в 100 раз круче

  • @ProCoder777
    @ProCoder777 8 месяцев назад

    Отличная подача материала, смотрится интересно а главное все понятно. Сложные вещи - простым языком, круто! Ждем новых роликов.