Общая разметка и компонент Outlet в React-Router 6

  Рет қаралды 89,068

Михаил Непомнящий

Михаил Непомнящий

2 жыл бұрын

Шестая версия библиотеки react-router-dom предлагает альтернативный подход к организации типовых элементов страницы, таких как шапка, сайдбар и подвал. Для этого, в частности был придуман компонент Outlet, который также используется во вложенном роутинге.
Код урока: github.com/michey85/youtube-r...
Мои курсы по вебу с купонами:
✅ mishanep.com/
📢 Поддержка канала:
www.tinkoff.ru/rm/nepomnyasch...
paypal.me/mishanep

Пікірлер: 123
@vatasi7312
@vatasi7312 18 күн бұрын
Михаил вы в очередной раз выручаете, давно не работал с роутами так как проект настроен больше года тому назад, сейчас начал делать другой:D и не понимал до последнего почему у меня не отображается контент.... Outlet Спасибо большое!
@Mike-hp5vr
@Mike-hp5vr 2 жыл бұрын
Классная подача материала, четкая дикция, актуальные темы. Огромное спасибо, приятно смотреть!
@gritsienkooleg3447
@gritsienkooleg3447 Жыл бұрын
Вот почему не могут создатели библиотеки вот так удобно и спокойно понятно и на простых примерах разложить всё ) Спасибо вам, Михаил!
@serhioramires3166
@serhioramires3166 5 ай бұрын
Да, потому что такое простое рассмотрение ущербно. Так его не используют. Это видео для дуриков.
@user-sp8ty2ol8m
@user-sp8ty2ol8m 2 ай бұрын
@@serhioramires3166 так что ты тут делаешь ?)
@user-vp9qe7gh1h
@user-vp9qe7gh1h 2 ай бұрын
Как раз к теме маршрутизации подошёл, Ваш ролик прям то, что доктор прописал, спасибо!
@user-cw2xk5jt6w
@user-cw2xk5jt6w 2 жыл бұрын
Как всегда коротко, ясно и без воды. Спс!
@Lirrana
@Lirrana 2 жыл бұрын
Большое спасибо, прекрасный туториал. Сразу получилось переехать на v.6.1.1 Отдельное спасибо за то, что туториал без воды, и звук прекрасного качества.
@user-iy2hd6ix9j
@user-iy2hd6ix9j 2 жыл бұрын
Продолжайте ! тема горячая, пока контента мало, народ на канал подтянется!))) Спасибо за работу!)
@aaronvasilev2371
@aaronvasilev2371 2 жыл бұрын
Михаил, огромное спасибо Вам за видео, так держвать. Спасибо что продолжаете заниматься каналом❤
@isaacjon
@isaacjon 2 жыл бұрын
Здравствуйте, очень понравился ваш вариант. Не останавливайтесь 🔥🔥🔥
@Exigoll92
@Exigoll92 2 жыл бұрын
Бесконечно низкий поклон тебе! Нужная инфа, без воды.
@user-yx4zt2ev2g
@user-yx4zt2ev2g Жыл бұрын
Очень приятно слушать автора, все понятно и доступно. Лайк!)
@alexzav1327
@alexzav1327 Жыл бұрын
Спасибо за это видео и в целом за серию Router! Вы очень понятно и доступно объясняете простыми словами, мне как новичку многие моменты стали гораздо понятнее.
@dimalukashenko4865
@dimalukashenko4865 2 жыл бұрын
Хороший урок, спасибо за труд!
@user-sx4zn5pf7x
@user-sx4zn5pf7x 2 жыл бұрын
Большое спасибо! Это то, чего мне не хватало)
@arty_game
@arty_game 2 жыл бұрын
Большое спасибо за видео урок. Делаю тестовое задание очень помог. Прекрассная подача, продолжай в том же духе)
@user-yi9gy4cz7n
@user-yi9gy4cz7n 2 жыл бұрын
Очень полезная информация и хорошая подача, трудность в том, что параллельно смотрю более старый курс, там немного другие инструкции работы реакта. Благодаря вам сразу же обновляю знания, спасибо.
@user-de8qy1mw4g
@user-de8qy1mw4g 2 жыл бұрын
Спасибо! Очень полезная серия видео! Коротко и ясно
@user-zf7oh5iv3l
@user-zf7oh5iv3l 2 жыл бұрын
Благодарю. Спасибо за внятное и понятное изложение материала. У меня как раз проект на незнакомом для меня реакте)))
@janisdregeris248
@janisdregeris248 2 жыл бұрын
Ну надо же 😄😄 пока сам разбирался... и разобрался, так контент про react-router подоспел. Спасибо за видео! 😋
@Natalia-ph
@Natalia-ph 2 жыл бұрын
Отличный материал и подача, все понятною спасибо!
@user-vw3fj2sm5z
@user-vw3fj2sm5z 2 жыл бұрын
Огромное спасибо за материал. Только начал изучать, намучался со switch
@marinaermilova7912
@marinaermilova7912 2 жыл бұрын
Супер! Супер! Супер! Просто огромное Вам спасибо за такое классное видео.
@neiron3863
@neiron3863 10 ай бұрын
Очень хорошо и доходчиво рассказываешьСпасибо!
@Jovannii.
@Jovannii. 2 жыл бұрын
Сильно! Как же я тебя искал!
@user-jm7dy8ks7w
@user-jm7dy8ks7w Жыл бұрын
Супер понятное видео. Михаил спасибо вам)
@user-vl9eg5jd5i
@user-vl9eg5jd5i Жыл бұрын
вот он, единственный реально полезный и классный контент в моей ленте YouTude, огромное спасибо
@user-fs1pm5oe5s
@user-fs1pm5oe5s 2 жыл бұрын
Отличное видео, спасибо за информацию!)
@nijy001
@nijy001 2 жыл бұрын
Спасибо за видео, очень полезная информация.
@iharberasneu2905
@iharberasneu2905 2 жыл бұрын
Спасибо. Очень четко разъяснил тему.
@user-zi6ej2sx8c
@user-zi6ej2sx8c 2 ай бұрын
Спасибо большое за контент превосходного качества!
@garikmelqonyan6011
@garikmelqonyan6011 Жыл бұрын
Good job, Michael!
@user-lt5zm3ng2p
@user-lt5zm3ng2p 2 жыл бұрын
Чем больше смотрю про реакт и больше им пользуюсь, тем больше не понимаю, почему так много вакансий на нем и в 2 раза меньше на вью и ангуляре. Очень много сложностей и писанины в нем, чтобы сделать простые вещи )))) Спасибо за материал 👍
@user-kb5kd7ln3h
@user-kb5kd7ln3h Жыл бұрын
Михаил, спасибо за объяснение
@dima_sand
@dima_sand 2 жыл бұрын
Очень просто и понятно. Спасибо !
@ruslanfedorov9336
@ruslanfedorov9336 2 жыл бұрын
Отличное обьяснение, спасибо автору
@maga_frank
@maga_frank Жыл бұрын
Коротко и понятно, в отличие от многих которые 30 минут обясняют тоже самое и менее понятно. С меня отдушинский лайкос)
@yaroslavc1322
@yaroslavc1322 Жыл бұрын
Супер, классно объяснил, подписка! 😁
@evloev4821
@evloev4821 2 жыл бұрын
Outlet это тип children прикольно) классно проводишь уроки, мне нравится, спасибо
@matveyd7272
@matveyd7272 Жыл бұрын
Мой коммент станет сотым под этим видео и, даже не пересмотрев их все, могу быть уверен, что у тебя уже 100 благодарственных отзывов! Спасибо! Кратко, информативно, доходчиво. Продолжай в том же духе
@from_brest2631
@from_brest2631 2 жыл бұрын
прикольно сделали, мне нравится :)
@arturnureyev5224
@arturnureyev5224 2 жыл бұрын
Спасибо, жду новых видео
@Boudybuilder
@Boudybuilder 2 жыл бұрын
Слушаю и кайфую!!!
@ivanoliinyk8404
@ivanoliinyk8404 2 жыл бұрын
Все просто и понятно спасибо
@user-rd8uh2ym3c
@user-rd8uh2ym3c 2 жыл бұрын
Первое человеческое объяснение!
@kuhnivikont
@kuhnivikont 2 жыл бұрын
Михаил, так держать! Один из топ-каналов, на мой взгляд.
@mishanep
@mishanep 2 жыл бұрын
Спасибо =)
@user-jm5pp7lm8b
@user-jm5pp7lm8b Жыл бұрын
Хорошо разобрано
@ellsonmendesYT
@ellsonmendesYT 2 жыл бұрын
I didn't understand what you were saying but I understood the code, nice @Михаил Непомнящий (Mihail )!
@phoenixbeard8543
@phoenixbeard8543 2 жыл бұрын
Большое спасибо!
@mighty_osaker
@mighty_osaker 2 жыл бұрын
Сразу видно, человек любит историю)
@sergey9784
@sergey9784 10 ай бұрын
Спасибо большое! Не с первого раза, но....
@user-ie7md3mm6x
@user-ie7md3mm6x 2 жыл бұрын
Big thanks!
@otabekfayziev7076
@otabekfayziev7076 2 жыл бұрын
Топ, спасибо!
@aslanbekkaipaev9148
@aslanbekkaipaev9148 3 ай бұрын
СПАСИБО!!!
@antonkulakoff
@antonkulakoff 2 жыл бұрын
укажи нумерацию для видео в плейлисте, так удобнее делать навигацию. А так все супер!
@konglomora3230
@konglomora3230 2 жыл бұрын
Спасибо!
@fozilbekmurodov3131
@fozilbekmurodov3131 2 жыл бұрын
good luck, thanks bro
@user-ly6pr8xq4x
@user-ly6pr8xq4x 2 жыл бұрын
спасибо!
@maxet2374
@maxet2374 2 жыл бұрын
быстро и понятно
@darieandre5598
@darieandre5598 2 жыл бұрын
коммент в рамках благодарности за контент
@user-qp6yp4qk9i
@user-qp6yp4qk9i Жыл бұрын
спасибо
@user-xq8qk7ss8i
@user-xq8qk7ss8i 2 жыл бұрын
Отличный ролик! Будет здорово, если поскорее расскажете что использовать вместо почившего . А то в документации React router предлагают какой-то неимоверный финт с хуками вытворять вместо него.
@andrews3939
@andrews3939 2 жыл бұрын
Посмотрите в сторону
@ineye
@ineye 2 жыл бұрын
Blagodaru
@daniilivanov5430
@daniilivanov5430 Жыл бұрын
👍👍👍👍👍👍
@svetlanapokrovskaya7798
@svetlanapokrovskaya7798 2 жыл бұрын
Михаил, спасибо большое за уроки. Все понятно, без воды, только нужная информация. Но у меня появился вопрос: а как быть с путями при деплое приложения на github? Мне пришлось все пути в проекте переписывать: Было по уроку: Пришлось писать: Может быть есть более красивый способ?
@user-hq1td7vi3i
@user-hq1td7vi3i 2 жыл бұрын
Спасибо за урок! Подскажите что за плагин, с команды _ref вы создали функцию.
@mishanep
@mishanep 2 жыл бұрын
Это плагин сниппетов для react redux.
@user-ih6ie9ve6d
@user-ih6ie9ve6d 2 жыл бұрын
Outlet в React-Router
@AndranikArshakyan
@AndranikArshakyan Жыл бұрын
Общая разметка и компонент Outlet в React-Router 6
@Dem0nex
@Dem0nex 2 жыл бұрын
Здравствуйте, спасибо за видео!! А не можете подсказать, что делать в случае, если... смысл такой: есть навбар как сейчас в ВК или инсте, по нажатию можно переключать странички, в аутлете будет нужное отрисовываться. Однако на некоторых страницах этот навбар нужно скрыть. Можно ли это как-то элегантно сделать, если он будет стоять в layоut после аутлета? Или нужно этот навбар ставить тогда отдельно в компонентах, где он должен быть?
@lidijajezova2025
@lidijajezova2025 Жыл бұрын
Используйте хук useLocation, чтобы проверять pathname и на основе его уже прятать/показывать компонент.
@mityadima
@mityadima 2 жыл бұрын
очень похоже на ангуляр_)
@user-sx2go7ug4b
@user-sx2go7ug4b 2 жыл бұрын
Михаил, спасибо большое за урок! На 0:45 вводится какое-то сочетание клавиш и и компонент сам полностью раскрывается причем с таким же названием, как сам файл .jsx. Подскажите, как такое можно настроить)
@mishanep
@mishanep 2 жыл бұрын
Приветствую. Я так понимаю, вопрос про сниппеты. Их можно писать самому (в том числе с помощью дополнительных сервисов вроде сниппет генераторов), либо ставить плагины под те языки и фреймворки, что вы используете. У меня есть и самописные сниппеты + что-то с плагинов.
@natigagharzayev3936
@natigagharzayev3936 Жыл бұрын
Что делать с новой версией, он просто так index не берет, нужно ему дать значение?
@TransatlanticTalks
@TransatlanticTalks Жыл бұрын
Подскажите старичку-самоучке, который пока про Реакт по большому только в теории слушает и доучивает вёрстку - правильно ли я понимаю смысл, я же могу в Layout импортировать вместо , свой компонент (SIdebar и т.д.), уже в нём расставить Link, NavLink и т.д., ну и потом в Роутах это всё описать? И тогда Layout будет ретурнить чёт типо
@mishanep
@mishanep Жыл бұрын
Да, всё правильно
@user-kc5kr9fq2z
@user-kc5kr9fq2z Жыл бұрын
Здравствуйте, весь роутинг приложения должен быть описан в компоненте Арр?
@mishanep
@mishanep Жыл бұрын
Нет.
@user-islamkaz
@user-islamkaz Жыл бұрын
Можно вопрос, это же типо не обязтально использовать, можно же и просто без outlet ? Ну если буду работать на junior позиции ? Просто все дополнения забываются
@mishanep
@mishanep Жыл бұрын
Здесь могут быть разные подходы. Каждый сам решает, что и как использовать. Но да, можно обойтись без этого компонента.
@diamondmedia3076
@diamondmedia3076 2 жыл бұрын
у меня почему-то страница перезагружается при отрисовке именно Notfoundpage, хотя вроде сделал все как в видео
@tinaanit2965
@tinaanit2965 2 жыл бұрын
Здравствуйте,Михаил , а если нам нужны 2 или более несколько layout , как в таком случае организовать это ?
@mishanep
@mishanep 2 жыл бұрын
Посмотрите на пример из оф доки reactrouter.com/docs/en/v6/getting-started/overview#multiple-sets-of-routes Думаю вы найдете там ответ на ваш вопрос.
@yuliasereda5671
@yuliasereda5671 2 жыл бұрын
Спасибо большое. А есть ссылка на репо?
@mishanep
@mishanep 2 жыл бұрын
Сделаю.
@user-eg8iq6id6r
@user-eg8iq6id6r 2 жыл бұрын
Добрый день! Подскажите. Вы используете фрагмент ( вида ) то всё нормально. я пишу так же мне в терминале пишет ошибку: Unexpected token. В инете говорят, что эта ошибка значит, что JS ожидает что то другое. Пишу и всё становиться нормально. Подскажите, с чем это связанно.
@beznamea9549
@beznamea9549 2 жыл бұрын
Не подскажешь версию реакта, которая у тебя в проекте используется?
@user-eg8iq6id6r
@user-eg8iq6id6r 2 жыл бұрын
@@beznamea9549 Проект делаю на Next. Сразу скажу, что смотрел видео про Next и там тоже использовали сокращённый синтаксис и не было проблем у них. А у меня такая ошибка вылазит.
@mishanep
@mishanep 2 жыл бұрын
Не сталкивался с тем, чтобы React ругался на такую запись. Ни 16-й, ни 17-й версии. С Next тоже таких проблем не помню.
@Banan7280
@Banan7280 7 ай бұрын
А не подскажете как в таком случае использовать memo? Если у меня например шапка и футер всегда неизменяемы, изменяется только контентная часть (Расписание) и так как она является children нашего layout, соответственно меняется аутлет и происходит всегда ререндер самого layout (вместе с header и footer обернутыми в memo)
@mishanep
@mishanep 7 ай бұрын
Звучит так, что в memo нет смысла. Проп children новый, значит ререндер всё равно будет.
@mishanep
@mishanep 7 ай бұрын
С другой стороны мы же явно children не передаем, мы просто используем особый компонент, внутри которого уже магия с дочерними элементами происходит. По логике ререндера лейаута быть не должно.
@Banan7280
@Banan7280 7 ай бұрын
@@mishanep спасибо за ответ, перепроверю, возможно сам где-то косячнул
@user-bg3dk4se5s
@user-bg3dk4se5s Жыл бұрын
спасибо информативно . но я как новичок не могу понять одной вещи . у меня один компонент (app)который содержит другие компоненты ( header и т.д) навигации как таковой нет -небольшой лендинг. в футере есть ссылка на компонент который выглядит как отдельная страница ( использует тот же header и т.д) и я не могу понять как при нажатии на Link рендерить отдельную страницу вместо моего app / как может помочь outlet если у меня не будет как в видео хедера с сылками - как сделать так чтоб по умолчанию грузился app а при нажатии на ссылку другая страница целиком - не оставляя никаких компонентов .
@mishanep
@mishanep Жыл бұрын
Звучит так будто вам и незачем использовать подход spa. В любом случае ответ на ваш вопрос есть в видео про базовый роутинг.
@min8132
@min8132 Жыл бұрын
Не понял чем Link отличается от NavLink. Если не сложно, может кто-нибудь объяснить в двух словах?
@melitopol_Russia
@melitopol_Russia 2 жыл бұрын
есть желающие вместе на реакте поработать?)
@ondrui
@ondrui 2 жыл бұрын
я за - а какая идея?
@user-nc8ww3zd6n
@user-nc8ww3zd6n Жыл бұрын
А если я хочу, чтобы страница /about была в другом layout, допустим, LayoutAbout? Как ее запихнуть в этот другой layout?
@mishanep
@mishanep Жыл бұрын
На уровне организации структуры роутинга. Просто создаете несколько роутов с лейаутом и уже в качестве дочерних элементов указываете соответствующие страницы.
@user-nc8ww3zd6n
@user-nc8ww3zd6n Жыл бұрын
@@mishanep непонимаю... Можно код?
@Moishe_Rubinstein
@Moishe_Rubinstein Жыл бұрын
WebStorm не хочет использовать автоимпорт для 6-ых роутов (
@nikitasafonkin3077
@nikitasafonkin3077 2 жыл бұрын
Error: useRoutes() may be used only in the context of a component. - вот такое
@nikitasafonkin3077
@nikitasafonkin3077 2 жыл бұрын
писал так же как в видео
@nikitasafonkin3077
@nikitasafonkin3077 2 жыл бұрын
обернул в и пропала ошибка , почем на видео без него работает ?
@mishanep
@mishanep 2 жыл бұрын
Это второе видео цикла по React router v6. В проекте уже есть Browser Router, базовый роутинг разбирался в первом видео.
@andrews3939
@andrews3939 2 жыл бұрын
Outlet как-то больше запутьівает логику.
@user-xr4gt8qo3t
@user-xr4gt8qo3t 2 жыл бұрын
Прошу прощения, может я что-то не понимаю, но выглядит это как костыль, который совершенно рушит логику программы и ее восприятие.
@mishanep
@mishanep 2 жыл бұрын
Что именно? Outlet? Или вложенность роутов?
@user-xr4gt8qo3t
@user-xr4gt8qo3t 2 жыл бұрын
@@mishanep Добрый вечер, да именно Outlet. Ведь сами Route работают как якорьки к компонентам, которые нам необходимо отрисовать, а Link позволяет непосредственно отрисовать эту компоненту там, где она заключена в Route. Я вот сейчас третий час сижу с простейшей проблемой)
@user-xr4gt8qo3t
@user-xr4gt8qo3t 2 жыл бұрын
@@mishanep Если у Вас найдется время, посмотрите это видео, здесь нет outlet и все работает(но у меня нет) kzbin.info/www/bejne/oavLhGSXZ7uef9E&ab_channel=WebDev%D1%81%D0%BD%D1%83%D0%BB%D1%8F.%D0%9A%D0%B0%D0%BD%D0%B0%D0%BB%D0%90%D0%BB%D0%B5%D0%BA%D1%81%D0%B0%D0%9B%D1%83%D1%89%D0%B5%D0%BD%D0%BA%D0%BE
@mishanep
@mishanep 2 жыл бұрын
@@user-xr4gt8qo3t на самом деле использование Outlet не что-то новое и специфичное. Подобную технику используют и другие библиотеки. Где-то это также называется аутлетом, в других либах - слотом. Суть от этого не меняется.
@JesseJames-mh5kb
@JesseJames-mh5kb 9 ай бұрын
Я изивиняюсь, а почему непонмящий? что именно ты не помнишь?
@mishanep
@mishanep 9 ай бұрын
Ну вот неоригинально. Вот совсем. Каждую неделю кто-то аналогичные комментарии пишет. А главное - не смешно.
@JesseJames-mh5kb
@JesseJames-mh5kb 9 ай бұрын
@@mishanepне я просто смотрю разные обучалки для айтишников и тут смотрю автор видео вообще совсем непомнящий. Вот я и поинтересовался, почему так. А так конечно спасибо за ролики, я тебе лайк поставил, так что не смей говорить что моя шутка не смешная
@user-oc1bh7sf3c
@user-oc1bh7sf3c 2 жыл бұрын
Вообще не вдуплил зачем этот аутлет нужен
@jonny185
@jonny185 Жыл бұрын
почему-то без browserrouter не работало. может я конечно чайник, но как у автора у меня не работало
@pavelbero5208
@pavelbero5208 2 жыл бұрын
Использую typescript. Он ругается, когда задаю на index. Тип "true" не может быть назначен для типа "false | undefined".ts(2322) (JSX attribute) IndexRouteProps.index: true
@mishanep
@mishanep 2 жыл бұрын
По идее у роута не может быть одновременно пропов index и path. Index берет родительский путь.
Компонент NavLink и его кастомизация в React-Router 6
9:35
Михаил Непомнящий
Рет қаралды 73 М.
React Router 6 - базовый роутинг React-приложения
8:06
Михаил Непомнящий
Рет қаралды 198 М.
СНЕЖКИ ЛЕТОМ?? #shorts
00:30
Паша Осадчий
Рет қаралды 8 МЛН
The day of the sea 🌊 🤣❤️ #demariki
00:22
Demariki
Рет қаралды 82 МЛН
Learn React Router v6 In 45 Minutes
46:20
Web Dev Simplified
Рет қаралды 531 М.
Вложенный роутинг в React Router 6
10:01
Михаил Непомнящий
Рет қаралды 42 М.
Параметры в ссылках в React Router 6
11:40
Михаил Непомнящий
Рет қаралды 83 М.
React Router V6.4+ Tutorial - New Syntax, useLoaderData...
24:55
Nested Routes (Outlet component) Using React Router.
17:42
Rajat Gupta
Рет қаралды 11 М.
СНЕЖКИ ЛЕТОМ?? #shorts
00:30
Паша Осадчий
Рет қаралды 8 МЛН