Кастомные React-Хуки, useToggle, useLocalStorage

Поділитися
Вставка
  • Опубліковано 30 вер 2024
  • Кастомные хуки в React-приложении позволяют вынести часть логики в отдельные функции для многократного использования. Под капотом, как правило, они используют обычные React-хуки, один или несколько, плюс добавляют к ним определенную функциональность.
    ▶ Пример из видео: codesandbox.io...
    #react
    _
    Мои курсы по вебу с купонами:
    ✅ mishanep.com/
    📢 Поддержка канала:
    / mishanep
    www.tinkoff.ru...
    paypal.me/mish...

КОМЕНТАРІ • 44

  • @fo_ortuna1213
    @fo_ortuna1213 Місяць тому +1

    Приятный голос, и подача классная. Пока что нравится.

  • @ПавелГ-р1п
    @ПавелГ-р1п 3 роки тому +9

    Спасибо добрый человек. Первое видео, в котором я понял не много принцип работы кастомных хуков, и как их создавать. И localstorage скорее всего скоро придётся работать. Я джун джуновский, месяц только поработал, стажируюсь.

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

      как дела спустя 2 года? Стало более понятно?)

    • @ПавелГ-р1п
      @ПавелГ-р1п Рік тому

      @@ri4an598 Да, вполне понятно.

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

      @@ПавелГ-р1п кем щас работаешь? По скиллам мидл+- уже?)

    • @ПавелГ-р1п
      @ПавелГ-р1п Рік тому

      @@ri4an598 Фронт. По скилам наверное близко к миндлу, но там ещё пахать и пахать)))

    • @Eugeney-i6l
      @Eugeney-i6l 5 місяців тому

      @@ПавелГ-р1п неееет, я только джун

  • @ekaterinaskrynnik6932
    @ekaterinaskrynnik6932 Рік тому +2

    Большое спасибо за ваш труд! Всё становится супер понятно после просмотра ваших уроков!

  • @ВладимирКолесников-э6д

    Красивая реализация, доступное и грамотное объяснение. Спасибо!

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

    А в тогле получается то что экспортится и то что используем в аппе никак по названиям не матчися?

    • @mishanep
      @mishanep  Рік тому +3

      Это тема деструктуризации массивов - там имена не важны, только порядок. В случае с деструктуризацией объекта - наоборот.

  • @magerrrr
    @magerrrr 3 роки тому +1

    Миша, спасибо) я как раз написал месяц назад хук для работы с lacalstorage, но он не такой изящный получился что ли) взял на вооружение твой пример и очень за это благодарен!

  • @lentsd
    @lentsd 3 роки тому +1

    Отличный видеоролик! Успехов! 🚀🚀🚀

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

    Спасибо тебе добрый человек.

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

    Какая запоминающаяся фамилия)))

  • @bebeto123g
    @bebeto123g 3 роки тому +1

    А useCallback не нужно использовать для addToOrder?

    • @mishanep
      @mishanep  3 роки тому +1

      Это уже вопрос оптимизации. Его надо рассматривать отдельно. В текущем варианте он не требуется.

  • @aliicomua1369
    @aliicomua1369 6 місяців тому

    Только начал ТС и возникла проблема с типизацией useToggle, оба значения из картежа обозначает boolean или void. Как исправить?

  • @ВладимирГугин-ш7щ
    @ВладимирГугин-ш7щ 3 роки тому +1

    Подскажите пожалуйста, а что означают квадратные скобки в кастомном хуке? " return [value, toggle]; "

    • @mishanep
      @mishanep  3 роки тому +1

      Возвращаемое значение это массив, где первым элементом передаётся значение, а вторым - функция.

    • @ВладимирГугин-ш7щ
      @ВладимирГугин-ш7щ 3 роки тому +1

      @@mishanep Спасибо вам!

  • @phoenixbeard8543
    @phoenixbeard8543 2 роки тому +1

    Красота! Спасибо

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

    хвала тебе, мне как раз по заданию из курса надо было localstorage запилить)))) у меня всё котелок не мог сообразить как сделать это, а тут твоё видео)))) всё получилось!!!! огромное спасибо

  • @VitalyKuznetsov-kd7wp
    @VitalyKuznetsov-kd7wp Рік тому

    Спасибо за урок. Единственное толковое объяснение.

  • @ЕвгенийЕ-б9б
    @ЕвгенийЕ-б9б 11 місяців тому

    Спасибо! Очень полезное видео👍

  • @AndranikArshakyan
    @AndranikArshakyan 2 роки тому

    Лучший, спасибо, очень детально и понятно

  • @user-888azim-97
    @user-888azim-97 Рік тому

    Спасибо!

  • @СергейПетров-б4щ4ч

    Спасибо!

  • @РомаЧирский
    @РомаЧирский 3 роки тому

    Супер! Только Вы наверное все же забыли указать ссылку на codesandbox.

    • @mishanep
      @mishanep  3 роки тому +2

      Исправился))

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

    За счёт чего идёт перерисовка компоненты App..?.. Ведь как я понимаю по клику по бтн просто запускается функция useToggle.. А реакт рендерится когда меняется стейт или родительский компонент

    • @mishanep
      @mishanep  Рік тому +2

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

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

      @@mishanep , спасибо за ответ и урок, как всегда топ...До это мне сказали, что кастомный хук нужно называть только с use, поэтому react тогда будет делать рирендер... )

  • @dimalukashenko4865
    @dimalukashenko4865 2 роки тому

    Очень хороший урок

  • @valeramischenko9391
    @valeramischenko9391 2 роки тому

    💣🔥💣 супер!!!

  • @yakut54
    @yakut54 3 роки тому

    Спасибо! Помогло ))

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

    Здравствуйте! Почему в локал сторадж не сохраняет значения после перезагрузки или обновления приложения?
    import React, { useEffect, useState } from "react";
    import "./styles.css";
    export default function App() {
    const [radioValue, setRadioValue] = useState("");
    useEffect(() => {
    window.localStorage.setItem("language", radioValue);
    }, [radioValue]);
    useEffect(() => {
    setRadioValue(JSON.parse(window.localStorage.getItem("radioValue")));
    }, []);
    function changeHandler(event) {
    setRadioValue(event.target.value);
    }
    return (

    Hello!



    );
    }

  • @romanmed9035
    @romanmed9035 2 роки тому

    сделал я хук для поиска, как у Вас показано. все работает. но потом я решил из него вынести обращение к серверу. сделал хук и для этого, а оно не стало работать, посокльку так нельзя пишет. спросил в телеграме и мне показали фразу в которой написано что хук не может быть вызван из хука. но в другом видео показано что хук вызывается из хука. но там несколько не так сделан обмен переменными. у Вас показано ретурн в квадратных скобках и прием так же. а там показан ретурн в фигурных, прием либо так же, либо просто присваивание переменной из хука. можете ли показать как хук из хука будет вызываться при Вашем способе создания?

    • @mishanep
      @mishanep  2 роки тому

      Приветствую. Не совсем понимаю суть вопроса. Хук из хука - это, вероятно про реакт хуки, что из коробки идут. Там есть своя логика почему - хуки на верхнем уровне должны вызываться, не в колбеках, ни по условию, ни в цикле. А кастомные хуки чаще всего используют вместе с реакт хуками и часто с другими кастомными хуками. Вернуть же можно что угодно из хука.

    • @romanmed9035
      @romanmed9035 2 роки тому

      @@mishanep спасибо за ответ. по поводу вернуть я уже нашел такое же в других местах. позже еще раз попробую вызвать один хук из другого, как будет время на эксперименты и постараюсь написать что получилось.

  • @ЕвгенийЖ-н6м
    @ЕвгенийЖ-н6м 3 роки тому

    Миша почему ты не отвечаешь на комментарии