Большое спасибо за ваш труд! Всё становится супер понятно после просмотра ваших уроков!
@mykolatokariev826012 күн бұрын
Супер пример и супер объяснение 👍🏻
@ВладимирКолесников-э6д2 жыл бұрын
Красивая реализация, доступное и грамотное объяснение. Спасибо!
@fo_ortuna12133 ай бұрын
Приятный голос, и подача классная. Пока что нравится.
@LeontinKremer Жыл бұрын
Спасибо тебе добрый человек.
@ПавелГ-р1п3 жыл бұрын
Спасибо добрый человек. Первое видео, в котором я понял не много принцип работы кастомных хуков, и как их создавать. И localstorage скорее всего скоро придётся работать. Я джун джуновский, месяц только поработал, стажируюсь.
@ri4an598 Жыл бұрын
как дела спустя 2 года? Стало более понятно?)
@ПавелГ-р1п Жыл бұрын
@@ri4an598 Да, вполне понятно.
@ri4an598 Жыл бұрын
@@ПавелГ-р1п кем щас работаешь? По скиллам мидл+- уже?)
@ПавелГ-р1п Жыл бұрын
@@ri4an598 Фронт. По скилам наверное близко к миндлу, но там ещё пахать и пахать)))
@Eugeney-i6l7 ай бұрын
@@ПавелГ-р1п неееет, я только джун
@ЕвгенийЕ-б9б Жыл бұрын
Спасибо! Очень полезное видео👍
@miniDRO4ER Жыл бұрын
хвала тебе, мне как раз по заданию из курса надо было localstorage запилить)))) у меня всё котелок не мог сообразить как сделать это, а тут твоё видео)))) всё получилось!!!! огромное спасибо
@phoenixbeard85432 жыл бұрын
Красота! Спасибо
@lentsd3 жыл бұрын
Отличный видеоролик! Успехов! 🚀🚀🚀
@magerrrr3 жыл бұрын
Миша, спасибо) я как раз написал месяц назад хук для работы с lacalstorage, но он не такой изящный получился что ли) взял на вооружение твой пример и очень за это благодарен!
@AndranikArshakyan2 жыл бұрын
Лучший, спасибо, очень детально и понятно
@dimalukashenko48652 жыл бұрын
Очень хороший урок
@Drezerak2 жыл бұрын
Какая запоминающаяся фамилия)))
@СергейПетров-б4щ4ч2 жыл бұрын
Спасибо!
@yakut543 жыл бұрын
Спасибо! Помогло ))
@valeramischenko93913 жыл бұрын
💣🔥💣 супер!!!
@VitalyKuznetsov-kd7wp Жыл бұрын
Спасибо за урок. Единственное толковое объяснение.
@silverlira Жыл бұрын
А в тогле получается то что экспортится и то что используем в аппе никак по названиям не матчися?
@mishanep Жыл бұрын
Это тема деструктуризации массивов - там имена не важны, только порядок. В случае с деструктуризацией объекта - наоборот.
@bebeto123g3 жыл бұрын
А useCallback не нужно использовать для addToOrder?
@mishanep3 жыл бұрын
Это уже вопрос оптимизации. Его надо рассматривать отдельно. В текущем варианте он не требуется.
@ВладимирГугин-ш7щ3 жыл бұрын
Подскажите пожалуйста, а что означают квадратные скобки в кастомном хуке? " return [value, toggle]; "
@mishanep3 жыл бұрын
Возвращаемое значение это массив, где первым элементом передаётся значение, а вторым - функция.
@ВладимирГугин-ш7щ3 жыл бұрын
@@mishanep Спасибо вам!
@flogger2367 Жыл бұрын
За счёт чего идёт перерисовка компоненты App..?.. Ведь как я понимаю по клику по бтн просто запускается функция useToggle.. А реакт рендерится когда меняется стейт или родительский компонент
@mishanep Жыл бұрын
Так useToggle содержит стейт, который меняется при клике. Следовательно и компонент, работающий с этим стейтом, рендерится.
@flogger2367 Жыл бұрын
@@mishanep , спасибо за ответ и урок, как всегда топ...До это мне сказали, что кастомный хук нужно называть только с use, поэтому react тогда будет делать рирендер... )
@aliicomua13698 ай бұрын
Только начал ТС и возникла проблема с типизацией useToggle, оба значения из картежа обозначает boolean или void. Как исправить?
@ГеоргийНовицкий-ф3в7 ай бұрын
function useToggle(inititalValue: boolean): [boolean, () => void]
@Eugeney-i6l7 ай бұрын
кидаешь в чатгпт он все делает
@РомаЧирский3 жыл бұрын
Супер! Только Вы наверное все же забыли указать ссылку на codesandbox.
@mishanep3 жыл бұрын
Исправился))
@romanmed90352 жыл бұрын
сделал я хук для поиска, как у Вас показано. все работает. но потом я решил из него вынести обращение к серверу. сделал хук и для этого, а оно не стало работать, посокльку так нельзя пишет. спросил в телеграме и мне показали фразу в которой написано что хук не может быть вызван из хука. но в другом видео показано что хук вызывается из хука. но там несколько не так сделан обмен переменными. у Вас показано ретурн в квадратных скобках и прием так же. а там показан ретурн в фигурных, прием либо так же, либо просто присваивание переменной из хука. можете ли показать как хук из хука будет вызываться при Вашем способе создания?
@mishanep2 жыл бұрын
Приветствую. Не совсем понимаю суть вопроса. Хук из хука - это, вероятно про реакт хуки, что из коробки идут. Там есть своя логика почему - хуки на верхнем уровне должны вызываться, не в колбеках, ни по условию, ни в цикле. А кастомные хуки чаще всего используют вместе с реакт хуками и часто с другими кастомными хуками. Вернуть же можно что угодно из хука.
@romanmed90352 жыл бұрын
@@mishanep спасибо за ответ. по поводу вернуть я уже нашел такое же в других местах. позже еще раз попробую вызвать один хук из другого, как будет время на эксперименты и постараюсь написать что получилось.
@ЕвгенийЖ-н6м3 жыл бұрын
Миша почему ты не отвечаешь на комментарии
@mishanep3 жыл бұрын
Разве?
@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! ); }