о какие люди) от вас Михаил это вдвойне приятнее слышать)
@iliagalperin39686 ай бұрын
Когда 2 гуру фронтэнда встретились в комментариях🔥🔥🔥
@HIghtowerSever7 ай бұрын
Спасибо, наш синий друг.
@OCTAVIAN_JR7 ай бұрын
я использовал forwardRef для создания компонента с оберткой React hook form для input
@igorkushnir49667 ай бұрын
Я тоже)
@ashimov19707 ай бұрын
+ (я для эл-та dialog)
@maria-kuznetsova-s7 ай бұрын
Рада, что подписана на тебя) Очень полезный контент. Благодарю!
@it-sin9k7 ай бұрын
вижу много комментариев от тебя) рад быть полезным и добро пожаловать!)
@maria-kuznetsova-s7 ай бұрын
@@it-sin9k Спасибо! Я сейчас готовлюсь к собеседованиям и восполняю пробелы
@maria-kuznetsova-s7 ай бұрын
@@it-sin9k я сейчас готовлюсь к собеседованиям, поэтому активно заполняю пробелы)
@it-sin9k7 ай бұрын
да) я сам тоже готовлюсь к собесам и вспоминаю свои видосы))
@maria-kuznetsova-s7 ай бұрын
@@it-sin9k странно) Я пару раз пыталась написать здесь комментарий про подготовку к собеседованию, но при перезагрузке страницы он исчезал. Но получается, ты на него всё равно ответил)
@ИльяБондаренко-т4е7 ай бұрын
Вопрос по поводу forwardRef. Когда вы сказали что никогда не юзали его, я начал переживать что я что-то делаю не так. Такой юзкейс: Есть кнопка-элемент, который может использоваться в разных списках. Стили в списках должны быть одинаковые, но функциональность может отличаться. К примеру в первом списке я хочу чтобы этот элемент можно было перетаскивать (DnD) и вызывать callback, а в другом списке, чтобы просто вызывался callback, без DND. Для этого соответственно я в первом компоненте просто стилизую компонент (uikit), прокидываю пропсы, а для конкретного списка уже буду его использовать и обвешивать логикой в другом компоненте. Так вот библиотека react-dnd, например, возвращает мне ref, который я должен привязать к элементу, который будет перетаскиваться. Как можно ещё помимо forwardRef прокинуть ref в мой первый компонент, который находится в uikit? Я действительно возможно не знаю более правильного и простого способа, буду рад научиться
@BorshBlack7 ай бұрын
forwardRef использовал в основном в ui-kit'ах, в связке с useImperativeHandle для того, чтоб через рефку можно было вызвать различные методы компонента (который был обернут в forwardRef)
@it-sin9k7 ай бұрын
да, это рабочий кейс :)
@omak33137 ай бұрын
Спасибо большое! Ждём выжимку второго дня)
@vitalii43297 ай бұрын
Годнота! Спасибо за контент
@Virisound7 ай бұрын
Спасибо большое, очень мило с твоей стороны, для нас так потрудится. 🧞♂️
@it-sin9k7 ай бұрын
спасибо!) да я сам до ночи смотрел доклады)
@Virisound7 ай бұрын
@@it-sin9k, верю. 🙂👍
@АртемКуликов-ч4б7 ай бұрын
Благодарю за выжимку!
@snatvb7 ай бұрын
по forwardRef - постоянно юзаем, как без него UIKit вообще построить то? А compound component?
@it-sin9k7 ай бұрын
а можно кейс рабочий какой?
@BOCbMOU7 ай бұрын
@@it-sin9k банально свою кнопку сделать, как тут без рефа? Даже если в данный момент реф не нужен.
@snatvb7 ай бұрын
@@it-sin9k да прост кнопку делаешь, я не хочу все пропсы дива описывать, так же иногда может нужно будет взять реф от него, я же не знаю, что юзеру моего кода в голову взбредет. Паттерн декоратор обязывает тебя сохранять поведение расширяя компонент. Я добавляю размер и тему, таких пропросв нет и остальное все поведение сохраняю как есть. Так в целом большинство компонентов пишется. Посмари shadcn ui, radix ui - пожалуй это самые лучшие решения для ui, что я встречал. Я работал с mui, ant design, chakra, и какими то еще, и все они просто на несколько голов хуже чем озвученные ранее :)
@mulfyx7 ай бұрын
@@snatvb с ark ui работал? радикс залупа, селект 100кб весит)
@snatvb7 ай бұрын
@@mulfyx спасибо за наводку, чекнул мельком, идея такая же как и у радикса. Я говорил про сам подход, в некоторых кейсах реализация может хромать конечно. Тип того же селекта) хоть по селекту еще вопрос, есть ли решение получше. Потому что ark судя по всему придется тащить весь. У радиска там прост много че для него тянется из своих же частей
@АнастасияСтикина-у6ы7 ай бұрын
Спасибо! Контент как всегда супер
@DavidTch7 ай бұрын
Ман люблю твои обзоры спасибо ❤
@it-sin9k7 ай бұрын
спасибо!) это новый формат для меня) но кажется получилось неплохо)
@ZhenyaGoroh7 ай бұрын
Почему сейчас все видео конференций не доступны?
@it-sin9k7 ай бұрын
кажется у них ограничения по региону, пробуйте ВПН
@grasslawn75444 ай бұрын
Форвард рефами пользовался для реализации мини фотошопа. Где на разные баннеры накладывался текст.
@nikm11087 ай бұрын
+ кто не смотрел трансу и надеялся на синяка ❤
@it-sin9k7 ай бұрын
Лучший!)
@tanercoder19156 ай бұрын
Кто это трансу?
@omak33137 ай бұрын
Интересно, где можно записи посмотреть или скачать? особенно выступление Лидии Хейли. На канале React Conf трансляции 2 дней уже скрыты((
@sergks18467 ай бұрын
через vpn доступны
@omak33137 ай бұрын
@@sergks1846 попробовал через vpn открыть канал React Conf - все равно нет трансляций на канале
@omak33137 ай бұрын
@@sergks1846 через vpn тоже скрыты трансляции
@omak33137 ай бұрын
@@sergks1846 увы, нет
@it-sin9k7 ай бұрын
Вот только открыть опять стрим, у меня все работает
@snatvb7 ай бұрын
по react router - там смысл в том, что remix сильно полагался на react router, и фичи начались перемешиваться, remix и react router двигались навстречу друг к другу и вроде как они сливаются
@it-sin9k7 ай бұрын
да, там уже сильно перемешано все)
@snatvb7 ай бұрын
@@it-sin9k угу, судя по всему будут фреймворки основанные на рутерах, и каждый потом сможет чет свое построить
@true2277 ай бұрын
Так там даже разработчики одни и те же
@miangel07 ай бұрын
По ссылкам на видеоролики пишет, что видео не доступно
@it-sin9k7 ай бұрын
У них походу ограничения по региону, нужен ВПН
@nctay7 ай бұрын
Ветер дует в сторону фреймворков с тех пор как CRA перестал быть стандартом. Даже SPA сегодня проще и надежнее собрать не ремиксе или нексте. А теперь мы полностью возвращаемся к полусерверным приложениям.
@PalladinGOLD7 ай бұрын
@it-sin9k Вопрос по реакту. Можешь подсказать. Если в реакте мы в фазу рендера в реконсилейшн только формируем эффект лист, а в коммит фазу уже начинаем ее исполнять, то в фазу коммита пользователь никак не может прервать, так? Но как react определит стоит ему создавать новое воркИнПрогресс дерево или нет, в момент прерывания в фазе рендера
@it-sin9k7 ай бұрын
в такой глубине я тоже могу лишь предполагать как это работает. По идее теперь есть concurrent mode и все работает не так линейно. По идее работает система тасок, и главное выполнять реакту таски, а таски теоретически могут быть с разных фаз
@ivanrussui41267 ай бұрын
Благодарю. Вопрос если ставишь Некст то там свой роутер, как тогда быть с Реакт роутером 7?)
@it-sin9k7 ай бұрын
так это альтернативные варианты написания проекта, их не нужно вместе использовать :)
@ivanrussui41267 ай бұрын
@@it-sin9k это да) выходит что данный роутер актуален только юзая Реакт как отдельную библиотеку. Если юзать как советуют гуру-разрабы внутри фреймворка, то значит роутером 7 не пользуешься. Хотя я не знаю как там в Ремиксе и др с роутерами.
@ДанилНикитин-ж6с7 ай бұрын
Синячелло, ну, эти рекомендации по SSR фреймворкам... если же нужен просто SPA, то это по прежнему create-react-app, верно же?
@c01nd01r7 ай бұрын
Просто vite
@it-sin9k7 ай бұрын
думаю уже create-react-app умер. Сейчас для SPA есть лишь 2 варианта: - делать eject для CRA или самому поддерживать проект - либо же vite, он активно набирает популярность. Даже react-router v7 по идее сильно на него завяжется
@Mr.Bellamy7 ай бұрын
где то в проде юзают cra еще?
@user-888azim-976 ай бұрын
пользовалась forwardRef чтобы прокинуть что-то в какой-то компонент MUI.. в формы что ли.. да, память как у рыбки, простите.
@scffsz7 ай бұрын
У меня одного видео из описания недоступны?
@it-sin9k7 ай бұрын
Кажется нет, нужен походу ВПН
@KostaRMax7 ай бұрын
Аналогично, даже с системным впн нет доступа
@ashimov19707 ай бұрын
спасибо! но ззачем ты взял погонялово "синяк" (алкаш, для тех кто в танке)?
@it-sin9k7 ай бұрын
Потому что синий и легко запомнить)
@uwontrememberthis7 ай бұрын
есть ошибка: usecallback бзать все еще нужно будет, даже с компилятором
@it-sin9k7 ай бұрын
почему?
@ГригорийШумихин7 ай бұрын
Огонь
@fedormakareev71087 ай бұрын
Видимо пора миграировать на 6 роутер, скоро нужен SSR, вся лгика роутера на 5 версии и ее довольно таки много, а вот next тащить не хочется делал несколько проектов и это кошмарная тулза, редко удается собрать столько дурацких проблем.
@it-sin9k7 ай бұрын
да, это большой вопрос, как начинать новые проекты в 2025 году)
@TheMrArmbull7 ай бұрын
", а все самое интересное смотрите в предыдущем видео..."
@it-sin9k7 ай бұрын
ахахах) ну почти да)
@PavelKhapaliuk7 ай бұрын
Ни одна ссылка под видео не работает
@it-sin9k7 ай бұрын
Они блокируют по региону, нужен ВПН
@1NorthGod7 ай бұрын
Чёт я запутался, за эту конференцию они одновременно рекомендуют, что пора бы переходить на фреймворки и при этом продолжают продвигать тему роутеров, которые можно использовать отдельно без фреймворков. Вся эта свобода действий вызывает только одну головную боль ))
@it-sin9k7 ай бұрын
тут надо отделять, команда React и их официальный сайт рекомендуют использовать только фреймворки. НО создатели библиотеки react-router продвигает свой продукт и хочет, чтобы он продолжал жить и адаптирует его под новую реальность. Возможно это обретет определенную популярность и React начнет это тоже рекомендовать, кто знает.
@HEX_CAT7 ай бұрын
🥰🥰🥰
@ИльяБондаренко-т4е7 ай бұрын
Единственный нормальный синяк
@it-sin9k7 ай бұрын
звучит как тост!)
@ОлегСелин-ш9ы7 ай бұрын
Пока к компилчтору много вопросов. Какие у него ограничения? В каких случаях он отработает, а в каких нет? Не будет ли он амешиваться в работу state менеджеров?
@jyjyjyj37 ай бұрын
Стейт менеджеры основанные на работе через proxy работать не будут. Например MobX
@jyjyjyj37 ай бұрын
А насчет того как работает у Jack Harrington-а есть хорошее видео на эту тему
@Armas0n7 ай бұрын
То, что синяк за 6 лет опыта реакта никогда не юзал рефы на реакт компонентах, это такой хитрый байт на комменты? 🧐 Ну а если серьезно, неужели не возникала необходимость из родителя управлять каким-то состоянием html в дочерних компонентах? Ну и если пользовался библиотеками готовых компонентов, где нужно прокидывать ref в качестве пропса - считай пользовался forwardRef-ом.
@it-sin9k7 ай бұрын
Я обычно переименовывал props с ref на reference и все прекрасно работало :)
@swayok7 ай бұрын
@@it-sin9k Хе. Я не один такой =) Пробовал юзать forwardref в общих UI компонентах пару раз, но это было крайне неудобно, особенно в паре с memo. Плюнул и начал передавать через обычные пропсы.
@gffftxxx7 ай бұрын
@@it-sin9k не уверен что useImperativeHandle будет в этом случае работать когда необходимо ограничить доступ к dom элементу
@rusfungame7 ай бұрын
Как же круто что теперь реакт приложения грузятся не за 2,5 секунды, а за 2,4. У меня просто на работе three.js грузится секунд 15-50. Мне эти 0000.1 секунды от оптимизации реакта ваще ничего не дают.
@it-sin9k7 ай бұрын
Ну если ваш проект улучшится на 12%, то по идее он будет запускаться за 13-44 секунды :)
@rusfungame7 ай бұрын
@@it-sin9k Топ, спасибо за совет
@rimoli-ny1mr7 ай бұрын
Если они ускорили Facebook на 12 процентов просто с компайлером, то именно на столько он бил не оптимизирован самими дорогими инженерами современности))))
@it-sin9k7 ай бұрын
да) они показывали кодовую базу, и они пытались оптимизации все настроить, но на 12% им не удалось))
@Mr.Bellamy7 ай бұрын
без forwardRef не обойтись если пилишь свои кастомные ui компоненты с намеком на универсальность)
@it-sin9k7 ай бұрын
я обычно через props прокидывал, например называл reference, так многие пакеты делают
@KanalReal7 ай бұрын
начинал изучать react 17, а уже 19 😂😂
@it-sin9k7 ай бұрын
надо поторапливаться!)
@DreamingDolphing7 ай бұрын
О боже, они опять полностью переделали реакт-роутер.
@ell1ar7 ай бұрын
Аишная озвучка иногда сильно режет слух)
@rvoskanyan7 ай бұрын
Это не AI, живой голос не много подкрученный софтом
@ell1ar7 ай бұрын
@@rvoskanyan не соглашусь. Иногда очевидные ударения и интонации звучат не так, как нормальный человек говорит в жизни. Ждем коммент синяка)
@rvoskanyan7 ай бұрын
@@ell1ar Автор сам рассказывал как-то в однои из интераью😁