Канал определенно обделен просмотрами, очень хорошая подача материала!
@КонстантинТарасов-к6щ Жыл бұрын
На мой взгляд подача недостаточно хорошая. Даже в доке реакта намного понятнее и проще изложены концепты.
@etatevosian2 жыл бұрын
Очень понравился канал. Очень мало в сети подобных доступных к понимаю материалов. Спасибо автору!
@lightinthedark57082 жыл бұрын
Михаил, ценю Вас и Ваш канал за доступное и понятное объяснение. Спасибо за видео.
@ivanoliinyk84042 жыл бұрын
Дуже дивно чому так мало переглядів та вподобайок, але не зупиняйся ми це виправимо)))
@AlexGabber2 жыл бұрын
Очень простое и наглядное объяснение. Спасибо большое!
@john-weekend Жыл бұрын
Михаил благодарю за чёткое доходчивое видео, я с лёгкостью усвоил данный материал! Было интересно и полезно! 🎉
@maria-kuznetsova-s2 жыл бұрын
Рада, что нашла это видео. Отличное и доступное объяснение! На русском языке не так много хороших видео о фичах 18 версии react'а. Успехов вам!
@WinchesterD Жыл бұрын
Спасибо за видео, готовлюсь к интервью по Реакту, будет что рассказать. :)
@МасияГусейнов-ъ5е Жыл бұрын
лучшее объяснение конкуретного режима, спасибо за работу
@unknown.691410 ай бұрын
Спасибо, за полезный контент Михаил
@SergAlexson2 жыл бұрын
Миша, спасибо за видео! Все подробно и доступно разжёвано)
@koala20772 жыл бұрын
Спасибо за ролик. Читал статьи насчет конкурентного режима но так и не понимал до конца что это такое. Ваше видео хорошо объясняет эту концепцию)
@fizzbuzz58072 жыл бұрын
Большое спасибо! Вот вам комментарий, лайк и подписка!
@krohinri2 жыл бұрын
Миша, спасибо! Давай еще!
@АйдарЯлаев-ь2ш2 жыл бұрын
Познавательно, лайк)
@Moishe_Rubinstein2 жыл бұрын
Привет из Харькова!
@mishanep2 жыл бұрын
Привет из Малаги.
@dr_morpho2 жыл бұрын
Супер! Спасибо вам🤝
@АлександрМелянюк-ц9ю2 жыл бұрын
Спасибо!
@vladvoloshenko57012 жыл бұрын
спасибо за контент, огонь!!
@WebEnv2 жыл бұрын
Оч доступно, спасибо!
@ЮрийЧехов-щ5р2 жыл бұрын
Очень мало лайков))Подача отличная, приятно слушать вас)
@A.Floatrx2 жыл бұрын
также рекомендую ознакомиться с такими паттернами как debounce & throttle ))) до выхода этих хуков юзали именно их...
@The14Some12 жыл бұрын
Мне кажется, и после выхода этих хуков продолжат. Тут это выглядит как не очень контроллируемая полумера. У автора по-прежнему тормозит ввод, тогда как при debounce/throttle можно добиться совершенно нормального поведения даже на очень тормозном компьютере.
@dimahinev2 жыл бұрын
Мое уважение 🎩
@irinal77662 жыл бұрын
Отличнейший канал!
@NeoCoding Жыл бұрын
тоже в копилку, грасиас
@marsiki_official2 жыл бұрын
Спасибо за видео, немного не по теме вопрос, вы делаете акцент на том что инпут не управляемый, а в чем отличие если бы он был управляемый ?🙏
@mishanep2 жыл бұрын
Мы отдельно хранили его значение в стейте и спускали бы его на поле value для инпута. В принципе можно и с управляемым сделать, просто не понижать приоритет для стейта введенного значения.
@Ivanesenses2 жыл бұрын
Лайк неглядя!
@МикитаЛисанюк2 жыл бұрын
Интересно как это будет работать когда у нас данные, которые мы получаем с AJAX запросов, будут лететь в redux стору. И соответственно перерендер компонента будет форсить useSelector, а не изменение стейда компонента. Как пример, такая же ситуация как на видео, но фильтрация у нас происходит на стороне бэка
@A.Floatrx2 жыл бұрын
используйте debounce для оптимизации запросов...
@ЕгорЛазука-й1э Жыл бұрын
Спасибо
@onevermore2 жыл бұрын
спасибо!
@Joi-w2t10 ай бұрын
Привет! корректно ли оборачивать, например, отправку на сервер данных через axios в startTransition: const onSubmit = (values: z.infer) => { startTransition(() => { login(values) }) }, и да, в данном случае я использую Nextjs, здесь "login" это сервер экшн. Но все равно интересно
@deriirostyslav2335 Жыл бұрын
Михаил добрый день, ищу видео как взаимодействовать с несколькими страницами в приложении? и как масштабировать приложения. Допустим нажам на кнопку на первой странице, передать данные (избранной карточки на другую) и на оборот, и допустим ввести данные на второй странице и создать из них список на третьей, и это всё разные страницы. ничего не помогает, всё перепробывал. благодарю!
@LRXAORLOV2 жыл бұрын
А если бы мы положили search в useDeferredValue, и фильтровали по deferredSearch ?
@suslikest37082 жыл бұрын
лойс!
@IanNerovnyi Жыл бұрын
Все равно ведь дебаунс и тротлинг во всем выигрывает, как мне показалось. Есть ли тогда какой-то кейс, где все же может быть предпочительнее использовать useTransition? Мне кажется, что нет.. Очень жду дебаус и тротлинг хуки в Реакте из коробки)) Совсем не понимаю, почему до сих пор не решили это добавить
@profesor08 Жыл бұрын
Штука однозначно полезная, но от проблемы не избавляет, а лишь приуменьшает ее, и на каком-то средненьком телефоне, будет проявляться довольно заметно. Чтоб полностью избавиться от блокировки инпута, надо несколько иначе формировать компоненты, чтоб список рендерился отдельно, инпут отдельно, и данные считались отдельно. А сам пользовательский ввод надо как-то тротлить, например с помощью функций из lodash. И вот тогда даже на средненьких телефонах все будет круто.
@sharkman6434 Жыл бұрын
а в чём смысл и преимущество ренедерить отдельно список, инпут и счтёт данных подскажите пожалуйста )
@romandeveloper7720 Жыл бұрын
Таким образом, хуки помогают сделать мини-дебаунсинг, если так можно выразиться) Верно?
@mishanep Жыл бұрын
Что-то вроде него, да.
@sivkaburka10622 жыл бұрын
Досмотрел до 11:20
@orionpro792 жыл бұрын
а дальше что? Инет вырубили?)
@your_hero_n110 ай бұрын
некорректно подал информацию. Может за год что и изменилось, но в доке чётко сказано, что startTransition и его хук не предназначены для того, чтобы помечать, как переходы изменения в инпутах. Поэтому у автора и тормозил пользовательский ввод даже после применения новой функции.
@codokit2 жыл бұрын
Ещё вариант решения проблем с быстрым вводом - это тротлить пользовательский ввод.
@CJIu3eHb2 жыл бұрын
Не тротлить, а дебонсить.
@MIHANIZM562 жыл бұрын
Тоже самое хотел предложить. Интересно имеет ли смысл связка дебаунса и стартТранзишн
@user-888azim-97 Жыл бұрын
нужно было разделить на 2 видео ((((( просмотров бы больше было, и денег бы больше было, хотя конечно от рф теперь нет монетизации, но всё равно удобнее было бы.
@mishanep Жыл бұрын
У меня на канале никогда не было рекламы =) Ютуб конечно может и сам вставки делать, не спрашивая автора. Но монетизацию на данном канале я не включал.
@Илья-ж8ч8о11 ай бұрын
Эм, ну поиск на клиенте это тоже не бест практис ) Ну и фильрацию по каждому клику делать тоже не очч, наверно сюда лучше подошел дебаунсе?
@iGotton2 жыл бұрын
+
@Garry_Levin6 ай бұрын
Видео может и неплохое, но без исходного кода не имеет никакого смысла. Дизлайк.
@chintore Жыл бұрын
useDeferredValue работает в связке с мемоизацией. При изменении в инпуте он выдает значение с прошлого успешного рендеринга (коммита) и запускает новый рендеринг с уже актуальным значением. Соответственно после изменения инпута происходит сразу рендеринг инпута и МЕМОИЗИРОВАННОГО результата для ресурсозатратной части. Сразу после этого реакт начинает еще один рендеринг, но теперь useDeferredValue возвращает актуальное значение. После готовности второго рендеринга актуальный результат отрисовывается. Без мемоизации useDeferredValue бесполезен, и даже вреден.
@chintore Жыл бұрын
Новые изменения инпута могут прервать прошлые незаконченные рендеринги и запустить новый процесс. Соответственно ресурсозатратные вычисления ПОЛНОСТЬЮ будут производиться не для каждого введенного символа, а только для последнего изменения. Это все хорошо показано на схеме в видео. Логика очень схожа с debouncing.