Тёмный

Библиотека компонентов Material UI. Быстрый старт 

Михаил Непомнящий
Подписаться 47 тыс.
Просмотров 80 тыс.
50% 1

Библиотека компонентов Material UI издавна является самой популярной для React-приложений. В 2021-м вышла пятая версия библиотеки, добавив более современных решений к знакомому инструменту.
Таймкоды:
00:00 Обзор Material UI
05:45 Установка MUI 5
08:39 Шапка сайта с AppBar
16:40 Строка поиска с TextField
18:07 Добавление Container
19:32 Grid сетка для карточек
23:36 Карточка товара Card
28:43 Корзина с Drawer
38:22 Количество товаров с Badge
39:46 Уведомление с SnackBar и Alert
43:47 Базовая темизация
Стартовый шаблон проекта:
github.com/michey85/mui-shop-...
Итоговый вариант:
github.com/michey85/mui-shop-...
#react
Мои курсы по вебу с купонами:
✅ mishanep.com/
📢 Поддержка канала:
/ mishanep
www.tinkoff.ru/rm/nepomnyasch...
paypal.me/mishanep

Опубликовано:

 

2 июн 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 135   
@Krmznrmzn
@Krmznrmzn Год назад
Ты не представляешь, НАСКОЛЬКО я рад, когда собираюсь изучить что-то и у тебя есть по этому тутор!))))
@alexmarch
@alexmarch 11 месяцев назад
о да
@user-pl6xx3xk9t
@user-pl6xx3xk9t Год назад
Спасибо за вашу работу! Все очень круто подано) Приятно, когда по моим запросам появляются видео именно вашего производства)
@maratfaizer
@maratfaizer 2 года назад
Спасибо! Потрясающая подача! все доступным языком. Правильно, что сам код был готов и вы делали фокус лишь на MUI
@user-mn3sp6om8t
@user-mn3sp6om8t 2 года назад
Лучшая подача материала из всех что я видел. Спасибо вам, хоспаде!
@user-mu6bu1yn8e
@user-mu6bu1yn8e Год назад
Быстрый старт, название видео говорит само за себя, редко встретишь такие качественные видосы + с таким крутым практическим примером, спасибо!
@giyosiddinshokirov1303
@giyosiddinshokirov1303 2 месяца назад
Братан ты вабше чотка обесняеш спс.
@maximbagrayntsev5154
@maximbagrayntsev5154 Год назад
Крутая подача материала, очень полезно для старта по Material UI
@vitaliypasiuta8636
@vitaliypasiuta8636 2 года назад
Очень классная подача материала, лайк + подписка
@igorchernov1340
@igorchernov1340 2 года назад
Михаил, очень понравилась подача материала. Я новичок в React и хотелось бы видео о построении логики в React , может новый синтаксис или базовые вещи. Уверен начинающим будет очень полезно. Спасибо за ваш труд !!!
@from_brest2631
@from_brest2631 2 года назад
Зачот: для новичков отличный вводный курс как работать с пропсами ,компонентами и их апи... Лайк и подписка.
@khalkhalyan
@khalkhalyan Год назад
Михаил, видео просто супер! Успехов!)
@user-gj1je7te7s
@user-gj1je7te7s 2 года назад
Советую приобрести курсы Михаила на юдеми , подача очень качественная и все понятно , начинал именно с них . И спасибо за material ui)
@aokijikuzan2131
@aokijikuzan2131 2 года назад
Спасибо за очень качественный материал. Очень сильно помог в освоении
@sergeykudryashov9097
@sergeykudryashov9097 2 года назад
Михаил, спасибо большое. Как раз то, что надо.
@victorradchenko827
@victorradchenko827 Год назад
Михаил, спасибо! Емко, информативно.
@user-cf9sp7tp6k
@user-cf9sp7tp6k Год назад
Дуже добрий практичний гайдик для входу в тему, все як в назві) Дяка Вам)
@abolnikov
@abolnikov 2 года назад
Хорошее видео. Почерпал пару фишек для своего проекта. Да и в целом стало более понятно как работать с материалЮаЙ
@user-oo6sq7nt1y
@user-oo6sq7nt1y Год назад
Спасибо за Видео . Было бы здорово более продвинутый вариант , на подобе кастомных стилизаций , провайдеров тем
@NoName-ro6it
@NoName-ro6it 9 месяцев назад
Спасибо за видео. Очень нужный контент.
@andrewsam224
@andrewsam224 3 месяца назад
Вау!!! Супер контент!!!! Рекомендую к просмотру!!!! Спасибо Михаил!!!
@user-di6ve8rm6q
@user-di6ve8rm6q 2 года назад
Огромное спасибо за видео !!!
@user-gj1je7te7s
@user-gj1je7te7s 2 года назад
Мне кажется вам следует вкладываться в развитие обучающих проектов , так как у вас хорошо это получается и в будущем возможно будет хорошая отдача , успехов !
@user-zn7xg7ky6v
@user-zn7xg7ky6v Год назад
material ui крутой инструмент, спасибо!
@deniskotov
@deniskotov 2 года назад
Очень классно, спасибо!
@user-si8tx5sk9s
@user-si8tx5sk9s 7 месяцев назад
Спасибо за труд!
@profidev_js
@profidev_js Год назад
Инпутик уехал.. Боже мой, как мило)
@user-br4vn6id6u
@user-br4vn6id6u Год назад
Михаил, СУПЕР КОНТЕНТ!
@EmmyGold
@EmmyGold 2 года назад
спасибо большое, очень полезный урок, хочется еще))
@mishanep
@mishanep 2 года назад
Как раз вчера на канале вышло еще одно видео с использованием Material UI =) Посвящено пагинации.
@gingashie
@gingashie 2 года назад
@@mishanep спасибо, посмотрю) тяжеловато мне даётся документация, а на работе нужно использовать material UI, вот благодаря вашему видео я начала что-то понимать) жаль что в документации нет видео инструкции с принципами работы того что они накодили)))
@NikOroferov
@NikOroferov Год назад
Комментарий приемлемой длины в благодарность за видео
@user-ck4fh2bd3i
@user-ck4fh2bd3i 2 года назад
Круто! Спасибо за материал! Разберите еще кастомизацию компонентов с использованием классов, метода styled и т.п.
@user-ym9mk3se3q
@user-ym9mk3se3q 2 года назад
Спасибо, очень круто
@vsevolodcerneavschi507
@vsevolodcerneavschi507 2 года назад
ishe material ui, spasibo Mihail!
@nursultanyrysbaev9178
@nursultanyrysbaev9178 2 года назад
только только изучаю реакт, материал то что надо! спасибо! очень помогло!
@pandarry3212
@pandarry3212 Год назад
Как успехи, Нурик?
@urek8988
@urek8988 Год назад
@@pandarry3212 трудоустроился?
@ybpvin
@ybpvin Год назад
Thank you dear. Perfectly!
@kohanokhrin
@kohanokhrin Год назад
Очень классно. Я всё понял.)
@anton.istranin
@anton.istranin 2 года назад
👍 Благодарю!
@sergeydanilyuk7952
@sergeydanilyuk7952 2 года назад
Super, thank you!
@holovkevych
@holovkevych 2 года назад
норм, все просто и понятно)
@stormd2902
@stormd2902 2 года назад
класс, спасибо
@user-ce9mh7ij6o
@user-ce9mh7ij6o 2 года назад
Какие плагины вы используете для vscode для базовой разметки?
@manofsteppe179
@manofsteppe179 2 года назад
Спасибо! Подскажите, каков ваш выбор между ant designe и material ui? Понимаю что зависит от проекта и прочих сопутствующих факторов, но все же, если говорить о золотой середине. По мне material ui уж очень напоминает bootstrap, посредственный дизайн
@mishanep
@mishanep 2 года назад
Мой выбор Chakra UI. Но с выходом пятой версии mui, он стал больше походить на Chakra, и проще конфигурируется. В целом MUI хорош для админок. Ant.d, по мне, более универсален.
@manofsteppe179
@manofsteppe179 2 года назад
@@mishanep Понял, иду смотреть chakra ui) Прохожу ваш курс по JS на Udemy, четко!
@gingerantelopeandgreywolf6701
@gingerantelopeandgreywolf6701 11 месяцев назад
спасибо за очень понятное объяснение mui!
@petermashine1483
@petermashine1483 5 месяцев назад
смотреть легко и просто. я пытаюсь гриды красивыми сделать!!! нифига!
@seryozhaasatryan3270
@seryozhaasatryan3270 Год назад
Спасибо за урок, только хотел узнать все материалы которые мы будем исползовать они responsive или для этого нужно что-то дополнительное?
@mishanep
@mishanep Год назад
Чудес не бывает) Если вам нужно чтобы, например, размер шрифта был разный на телефоне и десктопе, либо набор карточек был в одну колонку или же в 3 - над этим надо дополнительно поработать. Где-то это решается на уровне пропов xs, md и так далее, где-то на уровне темизации, а где-то могут и медиа запросы пригодиться.
@seryozhaasatryan3270
@seryozhaasatryan3270 Год назад
@@mishanep понял, спасибо большое.
@maxpayne9074
@maxpayne9074 Год назад
Михаил, подскажите. 1. Я создаю тему createTheme, Кидаю ее в провайдер. Компоненты ее используют. Но когда я во внутреннем компоненте использую useTheme , моя созданная тема слетает( 2. Зачем вообще useTheme ?
@sandryeyev
@sandryeyev Год назад
Thanx!
@illyasydorenko1895
@illyasydorenko1895 Год назад
Почему когда я ставлю position static эппбару то но у меня становится посредине страницы и занимает не все пространство а только что нужно тексту, я хочу чтоб он статический был и не перекрывал контент
@denischudov3293
@denischudov3293 3 месяца назад
💪💪💪🔥🔥🔥🔥
@timofeymanko7870
@timofeymanko7870 2 года назад
Спасибо, очень круто! Что за плагин для автоимпортов?
@mishanep
@mishanep 2 года назад
VS Code делает это из коробки. Он смотрит на имеющиеся зависимости, и если название компонента, что мы вводим, ему известно, он в контекстном меню нам его предлагает.
@user-rj6ev1tb6q
@user-rj6ev1tb6q 11 месяцев назад
29:28 drawer - это не рисовальщик, а дословно "выдвижной ящик" (по типу того что контент выдвигается как ящик из шкафа)
@user-on6lf2nz1v
@user-on6lf2nz1v Год назад
возможно у вас есть первый урок, где вы делаете приложение без MUI
@irina5756
@irina5756 Год назад
Спасибо. А какой плагин у вас установлен чтоб сразу получать соответствующий импорт при написании названия компонента?
@mishanep
@mishanep Год назад
Это сам vs code. Для авто импорта плагин не нужен. Просто из подсказки нужно выбрать.
@irina5756
@irina5756 Год назад
@@mishanep у меня по MUI так не делает ы автоматически импорт не добавляет
@pavelmelnik9952
@pavelmelnik9952 2 года назад
Класс! Давно хотел попробовать, но не решался - уж больно серьёзной она казалась из-за обилия компонентов. как вывод - понравилась очень. постараюсь поипользовать её при любой ближайшей возможности. Вам как всегда лайк, отлично говорите!) up: скопировал ваш репозиторий, но при npm install менеджер почему-то начал выдавать какие-то ошибки доступа с референсом на npm login. удалил package-lock, создал аккаунт на их сайте и ввел npm login с этим аккаунтом. повторил npm i и это решило проблему, пакеты установились, но появилась другая проблема - npm start стартует около минуты, и делает ребут страницы примерно столько же. поискал в интернетах, советуют удалить папку .cache из node_modules - не помогло. не знаю откуда это всё взялось. вчера клонировал ваш redux\toolkit и было всё отлично
@rahimkhatsiev2851
@rahimkhatsiev2851 2 года назад
Тоже самое.
@sergeysurname517
@sergeysurname517 2 года назад
Тоже самое
@user-or5hs7yw7r
@user-or5hs7yw7r 2 года назад
удалил yarn.lock, затем вновь попробовал npm install и все подгрузилось)
@e_viskhan
@e_viskhan Год назад
Тоже самое, жутко долго запускается и перезагружается проект
@koshgosh3081
@koshgosh3081 Год назад
а будет гайд про стилизацию material ui с styled-components ?
@mishanep
@mishanep Год назад
Не планировал пока
@user-yw6bj5oe9w
@user-yw6bj5oe9w 2 года назад
Все хорошо, но есть вопрос? ...когда я создаю компонент, есть ли разница в расширении JSX или JS?
@mishanep
@mishanep 2 года назад
Нет. Но часто редактор кода из коробки не будет делать подсказки для jsx разметки в js файле, а в jsx - будет.
@evgeniykolmak5459
@evgeniykolmak5459 Год назад
А адаптировать под мобильные устройства? Так же как и в бутстрапе? Через кол-во колонок?
@mishanep
@mishanep Год назад
Смотря о чем вы спрашиваете. Есть компонент Grid mui.com/components/grid/ Там через соответствующие пропы указывается кол-во колонок, да. На той же странице есть пример, как для свойства columnSpacing задать адаптивные настройки.
@user-888azim-97
@user-888azim-97 Год назад
если не про грид и резиновую вёрстку, то кажется это делается через условный рендеринг в зависимости от ширины экрана. адаптив -- типа как преобразовать колонку меню (почти как basket в видео) в таббар снизу на мобилке.
@maxpayne9074
@maxpayne9074 Год назад
Подскажите пожалуйста, как верстать макет на react + materialUI? мне нужно компонентам дописывать стили или как ?
@mishanep
@mishanep Год назад
Material UI позволяет кастомизировать и тему и компоненты. Вы можете как свои компоненты на безы mui создавать, так и дописывать нужные вам стили.
@maxpayne9074
@maxpayne9074 Год назад
Тоесть, если у меня произвольный макет, я могу использовать materialUI, вставлять компоненты и дописывать необходимые стили как в макете . Я правильно понял ?
@mishanep
@mishanep Год назад
да но иногда бывает проще с нуля писать, чем переопределять готовые стили если макет изначально разрабатывался с учетом дизайн системы mui, то другое дело
@kontik2020
@kontik2020 2 года назад
Это все круто, но было бы еще лучше ,если бы свой дизайн, который нарисовал дизайнер, сверстать на материал ui... а так это все и в доке есть
@anv7259
@anv7259 2 года назад
не подскажите как называются плагины для быстрого заполнения и импорта?
@mishanep
@mishanep 2 года назад
Это встроенная возможность редактора. Есть как WebStorm, так и в VS Code.
@IhorVyshniakov
@IhorVyshniakov 2 года назад
У меня нету подсказок названий иконок(компонент) для импорта как у вас сдесь 11:42. Подскажите кто-то плиз как сделать так, чтобы эти подсказки были??? Это разширение какое-то или как Спасибо за полезный контент!
@mishanep
@mishanep 2 года назад
Может у вас старая версия vs code? Или может наоборот какое то расширение это блокирует?
@IhorVyshniakov
@IhorVyshniakov 2 года назад
@@mishanep VS Code сегодня обновлял. А по поводу расширений не знаю. Могли бы вы если вам не сложно, пожалуйста, скинуть мне на почту(следующим комментом скину) скриншоты какие у вас расширения установлены и содержимое вашего файла settings.json?
@mishanep
@mishanep 2 года назад
@@IhorVyshniakov об интимных вещах просите)) я вот точно ничего специально не делал. Для реакта у меня только es7/graphql snippets стоит, но он для сниппетов, в настройках эту часть не затрагивал. 75% моих настроек есть на канале в отдельном видео, после него добавлял по мелочи, в основном для styled-components и Vue. Редактор смотрит существующие зависимости проекта и в контексте предлагает авто импорт.
@IhorVyshniakov
@IhorVyshniakov 2 года назад
@@mishanep Не знал что это считается у программистов интимом, хах) Тогда буду искать ваше видео о настройках Вс кода и пытаться разобраться. Спасибо
@Zeka1710
@Zeka1710 Год назад
Михаил, а как называется расширение для автоимпорта?
@mishanep
@mishanep Год назад
Не нужно для этого расширения. Это из коробки в Vs code.
@blackout1819
@blackout1819 2 года назад
а как стилизовать hover например по своему?
@mishanep
@mishanep 2 года назад
Здесь несколько вариантов решения: описать объект компонента в теме, либо на базе имеющегося компонента создать свой собственный с доп. стилями (для этого предоставляется утилита styled), либо в атрибуте sx на конкретном инстансе компонента. В всех случаях при описании объекта стилей есть возможность организовать вложенность. Например:
@user-vi9wx7wm8m
@user-vi9wx7wm8m 6 месяцев назад
Добрый день. Когда пытаюсь установить зависимости, то появляется ошибка E401. Подскажите, пожалуйста, как ее исправить?
@mishanep
@mishanep 6 месяцев назад
Попробуйте удалить lock файл и запустить установку заново.
@user-vi9wx7wm8m
@user-vi9wx7wm8m 6 месяцев назад
Все получилось. Спасибо!
@BlexJS
@BlexJS 2 года назад
Error: Invalid hook call. Всё перепробовал(Обновлял модули, брал код с самого сайта, делал на классах, функциях и стрелочных функциях), ничего не помогает(
@mishanep
@mishanep 2 года назад
Спокойствие, только спокойствие. Примерчик набросайте с проблемой на codesandbox.io
@BlexJS
@BlexJS 2 года назад
​@@mishanep Я решил проблему, были неправильно установлены пакеты. Спасибо за помощь. Также спасибо за такие информативные видео ♥♥♥
@AnnSyharevskaya
@AnnSyharevskaya Год назад
Только у меня при развертывании стартового проекта ошибка code E401 Unable to authenticate, your authentication token seems to be invalid. npm ERR! To correct this please trying logging in again with: npm ERR! npm login ???
@mishanep
@mishanep Год назад
Удалите package-lock.json и запустите установку заново
@mixfix86
@mixfix86 Год назад
@@mishanep не помогает =(
@MaximTitov-ru1lp
@MaximTitov-ru1lp Год назад
@@mixfix86 удалить файл yarn которые вы склоннировали с репозитория
@oleksiikriuchkov7399
@oleksiikriuchkov7399 2 года назад
Скажите, а как установить нод модули на скачанный проект?
@mishanep
@mishanep 2 года назад
Набрать в терминале npm install из папки проекта
@oleksiikriuchkov7399
@oleksiikriuchkov7399 2 года назад
@@mishanep благодарю
@sophiasmit5638
@sophiasmit5638 2 года назад
Хоть и прошло много времени. Все равно спрошу, где ссылка на гит?
@mishanep
@mishanep 2 года назад
В описании к видео - после таймкодов.
@rinat_kam
@rinat_kam 2 года назад
Работает только с реактом?
@mishanep
@mishanep 2 года назад
В данном случае это реализация именно под Реакт. Для Vue есть аналогичный Vuetify. Есть просто css либа Materialize css.
@user-bn7ij8cr1i
@user-bn7ij8cr1i Год назад
Хорошо получается объяснять. Может вам на Ютуб зайти) И курсы создать)
@user-ht5qv3wy4z
@user-ht5qv3wy4z 2 года назад
Ахуенно распетлял, респект, вторая часть будет?
@mishanep
@mishanep 2 года назад
Не планировал. Может заюзаю в рамках одного из проектов на канале.
@user-zu7kg3bs2p
@user-zu7kg3bs2p 2 года назад
10:38 Что это за плагин?
@mishanep
@mishanep 2 года назад
ES7 React/Redux/GraphQL/React-Native snippets
@enmaboya
@enmaboya 2 года назад
мне, честно говоря мне, скорее всего, не хватает опыта, но использование material ui с typescript, тот ещё мазохизм )
@user-tz6ug2eo8j
@user-tz6ug2eo8j Год назад
КАЕФ
@mikhailartiushkin982
@mikhailartiushkin982 6 месяцев назад
тебе ок на белой теме?)
@mishanep
@mishanep 6 месяцев назад
Да, вполне. Но люди жаловались, пришлось перейти на темную)) Есть люди, у кого непереносимость темной. Причем физически - глаза быстро начинают болеть. А на светлую чаще жалуются люди, кто в темноте привык работать =)
@ArtFanRamm
@ArtFanRamm Год назад
Ну я так понял для бэкендера по-быстрому и по-легкому накидать фронт для проекта на material ui не представляется возможным, нужно еще реакт выучить
@mr.zxzxzxz3816
@mr.zxzxzxz3816 9 месяцев назад
чёткий мужик
@rasvom
@rasvom Год назад
Хотел закрыть видос, но этот голос ска.. из-за него остался, збс
@thehuman9604
@thehuman9604 Год назад
flexGrow сокращение имеет. Но не в Материале. А в CSS. свойство flex: 1 == flexGrow: 1. СОветую подробнее почитать на МДН
@rusfungame
@rusfungame Год назад
мс
@user-dg4gv9rz6z
@user-dg4gv9rz6z 2 года назад
Худшего видео чем ваше я не видел. Как вы из пустой директории получили уже готовый проект с файлами и директориями? Перелетели магией? Совершенно не понятно как генерировать проект mui.
@mishanep
@mishanep 2 года назад
Насколько помню, в видео показывается набор необходимых зависимостей для MUI. Каждое видео имеет пререквизит. В данном случае - умение создавать реакт приложение и в принципе пользоваться реактом. Если этого нет, то вы раньше времени решили изучать material ui.
@user-dg4gv9rz6z
@user-dg4gv9rz6z 2 года назад
@@mishanep Пререквизит в моем понимании долен одержать логически непрерывную цепочку объяснений. У вас я этого не увидел. Если этого нет то вы слишком рано выложили это видео.
@mishanep
@mishanep 2 года назад
@@user-dg4gv9rz6z смешно))
@gyglejid
@gyglejid 10 месяцев назад
Не умею писать красиво, но каждый просмотренный урок от Михаила для меня-новичка - как свежий глоток воздуха)) Решил разобраться в issue от Михаила по поводу нежелаемого закрытия снэкбара при нажатии в карточке товара на кнопку ‘Купить’. У компонента Snackbar есть пропс “key” и если его заполнить какой-то уникальной фигней, связанной с добавлением товара в корзину, то мы полностью исправляем ситуацию и добиваемся желаемого эффекта. Чем заполнил я: создал в компоненте App реф, который изменяю каждый раз при добавлении товара в корзину: +import { …, useRef } from 'react'; … const App = () => { … + const snackbarKeyRef = useRef(0); … const addToOrder = (goodsItem) => { … + snackbarKeyRef.current = snackbarKeyRef.current + 1 }; … return ( ... … ) … } … Или можно в этот реф ложить наименование товара (в ф-ии addToOrder) и с помощью интерполяции в пропсе message к-та Snackbar выводить сообщение какой именно товар добавлен в корзину
@nikn6244
@nikn6244 Год назад
Когда ввожу npm i для установки зависимостей выдаёт npm ERR! code E401 npm ERR! Unable to authenticate, your authentication token seems to be invalid, как то так
@mishanep
@mishanep Год назад
Удалите package-lock.json и попробуйте ещё раз
@mixfix86
@mixfix86 Год назад
@@mishanep не устанавливается, такая же ошибка, package-lock удалён
@user-888azim-97
@user-888azim-97 Год назад
да видимо залогинился в npm, может от организации на работе? npm config delete registry
@gift.albooms
@gift.albooms 7 месяцев назад
Крутой урок! Вопрос - зачем прописывать Function.prototype по умолчанию в props? Только во избежание ошибки "is not a function"? Или ещё какой-тот смысл есть в этом?
@mishanep
@mishanep 7 месяцев назад
Зависит от использования. Если мы явным образом вызываем полученную через пропсы функцию, то в случае undefined получим ошибку в рантайме (либо надо делать проверку), а если функция просто вешается на onClick или что-то подобное, без явного вызова и передачи в нее аргументов, то можно обойтись и без фоллбека. Другого смысла я не вижу.
@petermashine1483
@petermashine1483 5 месяцев назад
смотреть легко и просто. я пытаюсь гриды красивыми сделать!!! нифига!
Далее
I need your help..
00:28
Просмотров 5 млн
Начало работы со StoryBook
23:42
Просмотров 47 тыс.
Learn MUI (Material UI) in under 10 min!
9:06
Просмотров 117 тыс.
Material UI with React in 2023
19:57
Просмотров 25 тыс.
React Query. Быстрый старт
30:09
Просмотров 46 тыс.
React и TypeScript - Быстрый Курс
1:40:52
Просмотров 341 тыс.