Сыграю на опережении: тема в VS Code - CodeSandbox
@cooq_3 жыл бұрын
или Atom one dark, если хочется похожую
@michaelhamar33052 жыл бұрын
Это задача примерно для какого уровня программиста junior/middle/ и тд?
@mishanep2 жыл бұрын
@@michaelhamar3305 эти градации весьма условны и в каждой компании будут подразумевать разные требования. По хорошему junior, желающий разрабатывать SPA приложения на React должен уметь подобное написать. С другой стороны, не каждый джуниор пишет на Реакте.
@michaelhamar33052 жыл бұрын
@@mishanep ок,спрашиваю так как видел что знакомий middle такое писал
@andTutin2 жыл бұрын
@@michaelhamar3305 беспонтовый проект, очень лёгкий , на новичка. практически 80% стилизация
@vadim_romanov4 ай бұрын
спасибо, хороший проект, лучше познакомился со styled components, а в ваших курсах по redux и typescript мы в него добавляем еще и redux и typescript))
@НиколайХорошуля-д7о3 жыл бұрын
Михаил, большая благодарность Вам за проделанную работу, у вас талант преподавателя. Было бы круто если бы ещё курс по redux вышел!)
@V4VFAloj7juAyQW3 жыл бұрын
Да, очень прошу курс по redux . Никак не могу с этим разобраться.
@sno-oze3 жыл бұрын
Отличное видео, шикарное объяснение! Задания с frontendmentor - вот это прямо годно.
@PerryCoxer2 жыл бұрын
Супер. Очень подробно, но не растянуто все объяснили. То что нужно для pet проекта!
@eev9enn5783 жыл бұрын
Безумно благодарен что учишь людей бесплатно на KZbin. Такое дорогого стоит. Желаю процветания, и спасибо тебе что ты помогаешь новичкам в данной сфере. Спасибо!
@ilaymorozoff41133 жыл бұрын
Благодарим Михаил, топовый контент подъехал))
@СергейРыженьков3 жыл бұрын
поставил бы 10 лайков если можно было, за тёмную тему наконец то, не выжигает глаза, так как смотрю ролики ночью
@FamilyGames166 Жыл бұрын
Михаил, большое спасибо, писал около недели двухчасовой ролик, изучил кучу всего, спасибо!!!
@cooq_3 жыл бұрын
Ребята пишите комменты, помогайте автору в продвижении. На русскоязычном ютубе мало достойных ребят, хорошо объясняющих реакт. Спасибо за видео)
@Natalia-ph2 жыл бұрын
Супер видео, спасибо огромное! Пока только посмотрела, все доступно и понятно, теперь нужно браться за реализацию
@karenm.9442 жыл бұрын
Большое спасибо за качественный контент! P.S. В конце видео не отображался флаг Андорры из-за того, что код этой страны - ad (он находиться в url на флаг страны). Если у пользователя установлен ADBlocker, то он просто заблокирует ответ сервера из-за того, что посчитает это рекламой)) Ситуация становиться ещё более интересной, если знать, что блокируется только SVG картинка, то есть, если запрашивать PNG, то все будет ок)) Удачи!
@Nikita-fl2td2 жыл бұрын
Михаил, большое вам спасибо! Вы умеете сложные вещи объяснять простым языком. Благодаря вам не забросил изучение в дальний ящик, а продолжаю двигаться вперед. Давно хотел вас поблагодарить!
@thegulpofenglish41312 жыл бұрын
Михаил, сердечная благодарность за ваши труды. Хотелось бы видеть больше продвинутых уроков. Роста каналу, Вам - всех благ.
@пиупиу-р6д2 жыл бұрын
понравилась подача материала, ролик до конца не досмотрела, но подписалась и купила ваш курс) удачи мне))
@ИванВалучев-э5р Жыл бұрын
Михаил, спасибо, все понятно и доходчиво! лайк, подписка))
@DmitriiBeliaev-v5q Жыл бұрын
Отличное видео, спасибо!
@ДмитрийОлейник-л9о2 жыл бұрын
Видео полезное! Узнал много новой информации. При роутинге помогла серия соответствующих роликов. Круто обучаться на реальных проектах! Спасибо)
@artemmolot24743 жыл бұрын
Спасибо большое, Михаил. Столько полезных приемов.
@andreymedkov7952 жыл бұрын
Отлично объясняешь. Приятно слушать!)
@Алексей-и5д3в2 жыл бұрын
Огромное Вам спасибо за Ваш труд
@ЛюбовьЛенская-и3ц2 жыл бұрын
Спасибо за такой интересный и понятный урок!
@ВладиславМартинов-я2щ3 жыл бұрын
Спасибо всё очень круто, с такими темпами можно стать профи в реакте если смотреть ваши выпуски!
@ВладиславМартинов-я2щ3 жыл бұрын
Будет круто если запишите ролик по созданию spa приложения используя React + Redux(toolkit)
@dmaberlin Жыл бұрын
Спасибо Миша! уроки и курсы супер!
@dr_morpho2 жыл бұрын
Супер! Большое вам спасибо🤝)
@ekuzovlev3 жыл бұрын
Михаил, в очередной раз большое спасибо за отличные уроки, просмотр которых вдохновляет учиться дальше. И хочу выразить отдельную благодарность, что выбираете симпатичные дизайны, и даже в простых уроках уделяете время и внимание оформлению элементов и опрятности. Видеть красивую картинку перед глазами тоже важно, во всяком случае для меня. )
@konglomora32303 жыл бұрын
Спасибо за Ваш труд!!!
@alexnixx2 жыл бұрын
Отличное видео) Пару недель назад сам делал это задание на фронтендменторе, после просмотра видео понимаю что местами заговнокодил) Наверное, даже хорошо, что после решения самому я наткнулся на это) Теперь даже немного стыдно и хочется все переписать) Спасибо за контент
@ЕвгенийШут-о7н2 жыл бұрын
спасибо большое за видео, спасибо большое за темную тему))
@АнатолийГорбов-о1ь Жыл бұрын
Отличное видео! много полезных фишек! было бы круто дополнить это видео роликом как это все затипизировать потом на TS))
@mishanep Жыл бұрын
На моем курсе по TS (степик или юдеми) есть такой ролик :))
@thekamol2 жыл бұрын
Спасибо большое вам, было очень полезьно!
@ДмитрийТитов-ц4щ3 жыл бұрын
Спасибо, Михаил!
@serjdenisov21143 жыл бұрын
Большое спасибо за урок!
@Denisqa-ke1xo Жыл бұрын
Да, круто) теперь возвращаюсь к уроку курса по TypeScript)
@vzvanov2 жыл бұрын
Круто и полезно!!!
@Brunopt893 Жыл бұрын
Gracias por el vídeo y saludos desde Portugal :)
@mishanep Жыл бұрын
De nada. Y saludos desde Malaga :)
@AlexGabber Жыл бұрын
Спасибо большое, но кажется тут вопрос styled-components не раскрыт, к сожалению. Основной сок этого пакета в динамических стилях через пропсы. В любом случае лайк :) Обожаю Михаила Непомнящего. А я пойду дальше изучать как лучше всего применять styled-components в своей личной библиотечке, может наткнусь где-то на крутую практику
@Alexander-tp6gy3 жыл бұрын
очень круто, большое спасибо, вот бы следующим видео добавить еще пагинацию, на канале и в платном курсе такого нет
@mishanep3 жыл бұрын
В пагинации на самом деле нет ничего сложного. Здесь единственно надо решить кто за неё отвечает с точки зрения данных - фронтенд или бэкенд. Чаще бэкенд, а это значит, что rest api должен предоставлять соответствующий инструмент. С точки зрения spa роутинга это всего лишь дополнительный параметр.
@CJIu3eHb2 жыл бұрын
1. Про теминг из styled-components вопрос уже был, но несмотря на претензии к производительности, я бы попробовал родной. Хотя вариант с css-переменными и установкой класса на body тоже интересен. 2. Закрашивание контейнера в селекте на темной теме (49:10) через css с выборкой по наличию аттрибута id выглядит костыльно. В react-select есть способы кастомизировать стили, судя по докам это наверняка возможно. Иначе будет минорное обновление какое-нибудь, верстку в котором внутри компонента изменят - и адьес. 3. "всегда были трудности с weight и height" А как же length? :) 4. Вызов фильтрации через useEffect (1:55:00) - тоже костыль. Все таки мьютить линтер надо только в крайних случаях., он часто намекает на странности в коде. Если все равно грузим страны только один раз за время жизни приложения - то лучше в App.js и грузить, а потом прокидывать в HomePage только countries.
@AlejandroMatos3 жыл бұрын
Я рада, что мой проект помогает вам создать это руководство :)
@mishanep3 жыл бұрын
Вот здесь поподробнее пожалуйста))
@АлексейМастяница-ы4е3 жыл бұрын
Ну лучший,что тут ещё сказать )
@Дмитрийсекрет-н7о3 жыл бұрын
Огромное спасибо ))
@starlord3113 жыл бұрын
Жду от Вас проект с Redux
@АнтонМирный-с5х3 жыл бұрын
Спасибо
@from_brest26313 жыл бұрын
Моща 👍
@osad4enko Жыл бұрын
Было бы прекрасно увидеть в Вашем исполнении: связка React с Express и Mongo - - пару примеров и правильным API на стороне сервера, без REST API на стороне фронтэнда...
@cooq_3 жыл бұрын
По поводу подсветки синтаксиса в компонентах styled-components для vscode расширение "vscode-styled-components", для webstorm "Styled components & Styled jsx"
@mishanep3 жыл бұрын
Попробую, спасибо.
@mishanep3 жыл бұрын
Поставил рекомендованное расширение. Так намного удобнее, спасибо =)
@cooq_3 жыл бұрын
@@mishanep Спасибо за контент :)
@leshiq42143 жыл бұрын
пфф, я делаю такое на завтрак! ))) Довольно типовая задача, на самом деле. Для новичков норм, полезно/интересно.
@mishanep3 жыл бұрын
Что происходит в основной приём пищи?
@280282roger2 жыл бұрын
@@mishanep ОЗУ заканчивается =))))))))))))))
@etemax2 жыл бұрын
спасибо за контент! если сравнивать с реальными задачами на работе, то уровень 4 advanced там примерно такой же будет?)
@mishanep2 жыл бұрын
Реальные задачи обычно более декомпозированы. То есть не бывает задачи типа "создай всё приложение целиком". Обыкновенно есть бизнес-требования, заказчик хочет какую-то фичу реализовать. Дизайнеры рисуют - лиды декомпозируют на подзадачи и далее от простого к сложному. Где-то UI компонентик сверстать, где-то над логикой поработать. Ну плюс часто еще и тесты написать ко всему этому. Касаемо уровней сложности, здесь сильно от компании или проекта зависит. Бывает так что миддл при смене работы ранжируется джуном, бывает и наоброт.
@etemax2 жыл бұрын
@@mishanep понял, спасибо за развернутый ответ!
@J_artem2 жыл бұрын
🙏👏
@mr.zxzxzxz38162 жыл бұрын
спасибо за труд 👍👍👍
@ds76292 жыл бұрын
"Линтер не должен нам портить жизнь... ", наш девиз по жизни
@@mishanep мне, как новичку интересно было бы посмотреть, как изменяется фон при изменении погоды и другие функционалы приложении
@aaaaaaaaaaaaaaaaa8296 Жыл бұрын
а чем заменить useHistory когда у меня версия react-router-dom v6? посмотрел несколько видосов и в stackoverflow тоже, нашел только что заменяется этот хук useNavigate, но вот в Details компоненте пропсов нету. помогите если кто знает как пропсы получить
@AlexStr-h9t Жыл бұрын
используй useParams() в Details
@krasovsky12 жыл бұрын
Отличное видео. Действительно ли так критично использование не родной темизации от SC?
@mishanep2 жыл бұрын
В сети можно найти обзоры на эту тему с конкретными цифрами по производительности. На небольшом приложении будет не так критично, как на большом.
@DmitriyDev2 жыл бұрын
Спасибо за крутой урок) Скажите а в реальных проектах для каждого компонента нужно создавать папку? Или можно как вы делать?
@mishanep2 жыл бұрын
Зависит от проекта. Но чаще всего да - папка. В папке, помимо компонета, тесты к нему, стили, истории для StoryBook, хэлперы и кастомные хуки когда требуется, иногда моки.
@andriitkach67752 жыл бұрын
Мега крутой контент! Спасибочки!! Мы все были бы очень благодарны за такой проектик в комбинации с TS. Запишите в TodoList пожалуйста.
@gingashie2 жыл бұрын
Можно я поправлю, у многих на утюбе слышу как Theme читают как Зим, но на самом деле читается Фим. у буквосочетания TH два звука: звонкий (грубо говорят З) и глухой (Ф), вот в слове Theme именно глухой звук, который слышится как Ф или Т когда язык между зубами. Но это конечно не так важно, поэтому спасибо большое за такие подробные уроки, лично мне они уже очень много дали и помогли в работе.
@mishanep2 жыл бұрын
Мой опыт заигрывания с теми или иными английскими словами в плане произношения довольно забавный. Любое произношение всегда находит недовольных =) Я помню, камнем преткновения долгое время был character, когда я преподавал детям создание игр на Unity. В каждой группе находился ребенок, пытавшийся поправить меня, даже когда я стал произносить корректно =) Поэтому с вашего позволения просто продолжу произносить как мне привычно, и как моё ухо регулярно слышит на англоязычных ресурсах. Впрочем, соглашусь, что иной раз произношение, далекое от нативного, может подпортить всю картину. В любом случае, рад что мои видео оказались для вас полезными =)
@druf5962 Жыл бұрын
Спс за видео. В данном ролике смена темы происходит через styled-components, если хочу использовать обычный css, какой лучше подход использовать? Делать общие css data атрибуты, передавать через пропсы, контекст или еще какой вариант? На сколько styled-components актуален в больших проектах?
@mishanep Жыл бұрын
Я встречал комбинированные подходы использования styled-components и css-переменных. Что-то подобное, в частности, используют современные ui фреймворки, вроде той же chakra ui. Самый простой вариант css темизации - вешать текущую тему на body и менять значения css-переменных. На больших проектах styled-components имеет место быть, особенно удобно с точки зрения ленивой подгрузки стилей вместе со страницами/компонентами.
@MaksTrueman Жыл бұрын
@@mishanep "Самый простой вариант css темизации - вешать текущую тему на body и менять значения css-переменных." Получается, в таком подходе можно и без styled-components обойтись? Хочу на scss сделать. Там переменные также будут работать?)))) импорты только надо будет сделать, как понимаю.
@АрчибальтГугенов Жыл бұрын
Добрый день. Понимаю, что нет строгих правил, но можно ли создавать для каждого реакт компонента отдельный файл со стилизованными компонентами. А если есть переиспользуемые стилизованные компоненты, то закинуть их в общий файл для всего приложения. Получается, у каждого реакт компонента в папочке свой файл со стилями. И один общий для всего приложения. Или же есть более удобный способ? Как вы обычно делаете?
@koshgosh3081 Жыл бұрын
Как вы считаете, что использовать с реактом для стилизации? Я здесь посмотрел изучил tailwind, Михаил, был бы рад увидеть ваш ответ)
@mishanep Жыл бұрын
Я чаще использую scss модули, либо готовую ui библиотеку, вроде chakra-ui.
@koshgosh3081 Жыл бұрын
@@mishanep Спасибо! Попробуем)
@e_viskhan Жыл бұрын
18:05 - насчет того, что styled-components и обычные css переменные плохо сочетаются, - у меня в webstorm подсказки как для css, так и для переменных из файла css, подсказывает прямо все.
@dyaroman12412 жыл бұрын
Спасибо за видео. Один момент не дает покоя, почему переменная для скругления называется ‘radii’, а не ‘radius’ например? Или это была опечатка которая стала частью кода?
@mishanep2 жыл бұрын
Приветствую. Нет, это не опечатка) это скорее привычка, выросшая из работы с конкретными инструментами, в том числе самописными. Если начать ковырять принципы работы с темизацией такой библиотеки как Chakra UI, или изучить подход styled-systems, то там вы тоже встретите radii. Скажем так, это общая практика.
@alexnixx2 жыл бұрын
Подскажите, занимаюсь разработкай магазина. Делаю страницу с фильтрацией. По бренду, по категории, цене и тд тп. По вашему мнению, как "правильно" поступать в данной ситуации: 1. При изменении какого либо параметра (та же категория) мне заново делать запрос api на получения фильтрованного списка товаров. 2. По всему списку товаров, которые я уже получил, перебирать как вы в данном примере через filter & includes. Очень интересно ваше мнение, потому что на данном этапе мои понимания "что лучше", "что быстрее", "что ПРАВИЛЬНО". недостаточны. По этому и мечусь. Конечно, когда товаров, условно, 10 шт. - разницы никакой нет. Но если допустим, их будет 200 - что будет быстрее, здесь уже не понятно)
@mishanep2 жыл бұрын
Здесь надо отталкиваться от API, с которым вы работаете. Если, допустим, у вас сотни позиций, а получаете вы их постранично, то надо делать новый запрос на каждый выбранный фильтр (посмотрите, как яндекс.маркет, например, работает). Если вы сразу получили все товары, то смысла запрашивать их повторно нет. Фильтруйте их на фронте.
@alexnixx2 жыл бұрын
@@mishanep Спасибо большое!)
@AnonimUA2 жыл бұрын
в react routet v6 немогу передать пропс match в компонент Details. Посоветуете решение?
@AnonimUA2 жыл бұрын
разобрался - с помощью useParams()
@ЕвгенийШут-о7н2 жыл бұрын
У меня одного UseEffect при первом рендере не срабатывает из-за чего countries не получает data и ломается приложение (1:22:15 на видео)? Может где-то реакт обновился кроме react-router-dom?
@ShoTHIk2 жыл бұрын
Там countries поменялся на filteredCountries. Последний массив появляется(наполняется странами) только тогда, когда срабатывает функция onSearch={handleSearch}, которая передана из компонента ХоумПейдж в компонент Контрол. А срабатывает она, соответственно , при фильтрации стран (которые уже есть в массиве countries но ещё не передались в отфильтрованный массив filteredCountries). Может кто знает как это пофиксить?
@denmccormik76542 жыл бұрын
@@ShoTHIk добавить еще один useEffect, как на последних минутах видео
@dietmarvogt74552 жыл бұрын
Вопрос по переключению темы, а именно использование document. Если я правильно понимаю, при использовании document мы попадаем внутрь виртуального DOM, который контролирует React и без его ведома вносим новые элементы, что может со временем негативно отразиться в работе приложения. Если это так, то как тогда лучше решить подобную задачу?
@mishanep2 жыл бұрын
Приветствую. document - это браузерный DOM, React для работы использует свой виртуальный, на базе которого потом обновляет браузерный. Но React-приложение обычно живет в контексте какого-то DOM-узла, например div#app, и ничего не знает про остальную структуру документа. В примере из видео мы обращаемся через document к body, с которым React никак не взаимодействует. Поэтому здесь всё ок. Антипаттерном было бы обращаться через document к каким-либо узлам, находящимся под управлением Реакта.
@Dioni-h5q2 жыл бұрын
Я уверен, данное видео даст мне много знаний, но хочется прям кричать в голос для всех авторов... Хотелось бы видеть действительно правильный проект, а не " я сделаю все тут, для простоты и скорости ". Конечно, огромное спасибо и за этот материал)
@mishanep2 жыл бұрын
Правильный проект - это иной хронометраж. Я видел западные авторы делали что-то такое в формате платных курсов с таймингом 12+ часов. И всё равно без тестов, без TypeScript. Да и спросом такой формат не слишком пользуется. Поэтому да, упрощаем, в попытке донести какое-то ограниченное количество идей.
@poiu71853 жыл бұрын
Здравствуйте,я первый.Вы лучший!!!!
@АлексейИванов-ш4н1у Жыл бұрын
Для тех кто делает в 2023... если не работает команда NPM START 1- удалить package-lock.json и modules если вообще есть 2- переустановить dependencies ---- WINDOWS (rd /s /q "node_modules" del package-lock.json del -f yarn.lock npm cache clean --force npm install) ----- MAC (rm -rf node_modules rm -f package-lock.json rm -f yarn.lock npm cache clean --force npm install)
@michaelhamar33052 жыл бұрын
Это задача примерно для какого уровня программиста junior/middle/ и тд?
@kitsunaana97832 жыл бұрын
Стажер/Junior, зависит от компании, уровни, это всего лишь условная градация
@darkstyle70002 жыл бұрын
Михаил, объясните пожалуйста почему на 59:35 - вы задаете для key={el.title} , а не индекс массива или же id
@mishanep2 жыл бұрын
Приветствую! Для массива info делается перебор элементов через встроенный метод map. Для каждой итерации в переменную el попадает один элемент массива (т.е. объект со своими ключами). Поэтому индекс массива нам не нужен. Имея переменную el, мы напрямую обращаемся к свойствам объекта.
@osad4enko Жыл бұрын
create-react-app use only для уроков? в повседневной работе webpack ?
@mishanep Жыл бұрын
Create-react-app под капотом использует тот же webpack. Есть специальный скрипт, чтобы извлечь настройки сборщика и работать с ними напрямую. Но подход будет зависеть от проекта. Мне попадались разные варианты - и полностью с нуля сборка на webpack, и create-react-app в том же виде, что в данном проекте, и в "разобранном" состоянии с доп настройками, и с дополнительными либами, через которые можно "подкрутить" настройки базового шаблона. Сейчас популярность набирает сборщик vite (у меня по нему недавно было видео), на котором можно еще быстрее стартовать пет-проект.
@alexeybudai85112 жыл бұрын
Если кто-то пишет на typescript и не работает normalize.css, то добавте import в index.tsx, перед импортом index.css.И кстати если использовать webstorm, то он подскзывает название переменных css в styleComponents P.s Будут ли пхожие видосы на typescript и redux? Спасибо за видос
@mishanep2 жыл бұрын
Следующий проект в плейлисте с redux, насколько помню. Думаю со временем и ts появится. Пока я всё ещё не уверен в направлении практических видео, какими они должны быть.
@alexeybudai85112 жыл бұрын
@@mishanep Ну если учитывать что такие ролики будут смотреть новички делать их и складывать себе на гит хаб, то думаю в таких роликах лучше объяснять как рабоатют те или иные популярные технологии, котрые будут интересны работадателю и с которыми вы работали, а что уже писать это уже не так важно,как по мне хоть интернет-магазин,хоть какой-нибудь туду лист. И если есть возможность добавить какую-то градацию по сложности.И вот что заметил, что таких гайдов много и они как бы масштабнее,но их возраст в большинсве больше года что для библиотек довольно много, лучше пусть проекты будут маленькими,но актуальными.
@ekaterinam6363 Жыл бұрын
Подскажите, можно ли такие проекты добавлять к себе в портфолио или это считается плагиатом?
@mishanep Жыл бұрын
Смотря, что вы имеете в виду. Если сделаете самостоятельно, то можно. Если возьмёте готовый, то это уже не портфолио, а подборка готовых проектов.
@vladimirplyukhin52342 жыл бұрын
Михаил, добрый день. Слушайте, сейчас useHistory не функционирует в новой версии, если я правильно понимаю. То есть нужно как-то работать через useParams в настройках роутинга, чтобы отображать инфо по клику на карточку страны?
@vladimirplyukhin52342 жыл бұрын
Добавил хук useParams в компонент Details и вроде заработало. Спасибо заранее, вы очень достойный преподаватель! P. S. Посмотрел ваш мини курс про обновлённый react-router-dom
@dmaberlin Жыл бұрын
@@vladimirplyukhin5234 расскажи, как именно ты юзал useParams?
@vladimirplyukhin5234 Жыл бұрын
@@dmaberlin Привет мен, я уже не помню и если честно, сейчас даже нет времени пробежаться глазами по репе и вспомнить, но я помню что все моменты я решил с помощью видео Михаила и документации. Удачи тебе!
@alexidino2 жыл бұрын
Ребят, подскажите есть у кого проблема с restcountries, почти всегда недоступен, заметил со многими rest api такое. В Казахстане грузит, это блочат получается, очень плохо.
@DmitriyDev2 жыл бұрын
да в Казахстане многие сайты не доступны
@doitbetter76872 жыл бұрын
Мхаил, спасибо, офигенный урок получился! У меня вопрос, если в объекте присутсвует другой объект у которого меняется назнаение как в данном проекте с currencies и languages произошло(изменилась структура API), как распаковать это все?) струкутура такая: currencies:{ EUR: {name: 'Euro', symbol: 'E'} } и вот это слово EUR периодически меняется на какое-либо другое =( Спасибо!
@doitbetter76872 жыл бұрын
Разобралась, 😂 сделала через Object.entries(currencies) Object.values(languages) функции 😅
@mishanep2 жыл бұрын
Здорово, что разобрались. Вообще в реальных проектах структура api не должна меняться. У неё могут быть разные версии, это да. Но на конкретную версию структура всегда одна. Это называется контрактом между фронтом и бэком. И обе стороны должны его соблюдать.
@Pavlenko_M_ Жыл бұрын
Спасибо за совет, мне при выводе currencies помог Object.values(), Вы меня очень выручили! Михаил, Вам тоже большое спасибо за уроки, они часто тяжелые для меня, но очень эффективные :)
@Sobanim Жыл бұрын
с тайпскриптом бы и было бы топ)
@mishanep Жыл бұрын
Есть и с тайпскриптом)) На курсе по тайпскприту))
@ГлебКодрик-ж5ж3 жыл бұрын
Скажи пж какие плагины устанавливаешь для vs code я все подобрать норм не могу а у тебя по виду крутой
@mishanep3 жыл бұрын
Их много, на самом деле. У меня есть видео про мои настройки vs code. Может что-то конкретное интересует?
@ГлебКодрик-ж5ж3 жыл бұрын
@@mishanep да в принципе визуал не нравится , очень много плагинов ставил и как то не очень , а у тебя зашло, я конкретно про компоненты как div выглядит и т . Д
@mishanep3 жыл бұрын
За визуал в первую очередь отвечает тема. У меня основная тема - CodeSandbox, тема для иконок Material Icons. Для оформления разноцветных скобок используется Color Pair Colorizer 2. Остальные все плагины за функциональность отвечают.
@velikorossnationalist4259 Жыл бұрын
У меня ошибка почему-то выходит. Полностью повторяю как Вы говорите в коде, даже скопировал часть кода из гитхаба и вставил у себя в редакторе. На 01-05-50 минуте. Там такая ошибка (их две) Encountered two children with the same key, `[object Object]`. Keys should be unique so that components maintain their identity across updates. Non-unique keys may cause children to be duplicated and/or omitted - the behavior is unsupported and could change in a future version. --------- и еще ------ Error: Objects are not valid as a React child (found: object with keys {common, official, nativeName}). If you meant to render a collection of children, use an array instead. Проблема похоже где-то здесь: {countries.map((c) => { const countryInfo = { img: c.flags.png, name: c.name, info: [ { title: 'Population', description: c.population.toLocaleString(), }, { title: 'Region', description: c.region, }, { title: 'Capital', description: c.capital, }, ], }; return ( ); })}
@mishanep Жыл бұрын
Object.Object говорит о том, что вы что-то не то передаёте на проп key. Вам нужна строка, вместо объекта
@velikorossnationalist4259 Жыл бұрын
@@mishanep увы но передаю все то что-вы в видео говорите...((
@markusha56302 жыл бұрын
у кого будут проблемы в виде "TypeError: inputValue.match is not a function" при запросах, удаляйте расширение dev tools и заново устанавливаете
@markusha56302 жыл бұрын
после кода на 1:05:43 у меня возникает 2к ошибок и я не могу найти ответа на них, в чем проблема не пойму, вот пример одной из них : react-dom.development.js:86 Warning: Encountered two children with the same key, `[object Object]`. Keys should be unique so that components maintain their identity across updates. Non-unique keys may cause children to be duplicated and/or omitted - the behavior is unsupported and could change in a future version. Предупреждение: обнаружены два дочерних элемента с одним и тем же ключом `[object Object]`. Ключи должны быть уникальными, чтобы компоненты сохраняли свою идентичность при обновлениях. Неуникальные ключи могут привести к дублированию и/или пропуску дочерних элементов - такое поведение не поддерживается и может измениться в будущей версии. хелп плз
@markusha56302 жыл бұрын
короче от ошибок избавился поместив все в массив с объектами, а в качестве ключа предал index, но теперь проблема в том, что ничего не приходит от сервера,.... почему так сложно, почему нельзя просто
@markusha56302 жыл бұрын
короче от сервера все приходит, но не отрисовывает
@mishanep2 жыл бұрын
Дебажить надо, смотреть какие данные у вас имеются на конкретных этапах разработки. Попробуйте посмотреть мое видео по дебаггингу реакт-приложения, возможно поможет разобраться и в вашем вопросе kzbin.info/www/bejne/q6ermKBmjdhqsMk
@markusha56302 жыл бұрын
@@mishanep первый раз мне автор отвечает, приятно)) оказывается данные с сервера приходят, но они не отрисовываются, то есть в консооль выводит, а на карточках пусто, как мне объяснил товарищ, проблема в том , что они приходят после отрисовки и не попадают в рендер, пока еще не решил проблему
только не понял почему в первом случае - var а во втором - нет const HeaderEl = styled.header` box-shadow: var(--shadow); background-color: (--colors-ui-base); `;
@mishanep2 жыл бұрын
Там тож должен быть var. В строке писать css без подсветки - иногда чревато подобными ошибками =)
@denmccormik76542 жыл бұрын
@@mishanep Вас понял, спасибо за уроки. Попал к вам через Router и очень понравилось. Сегодня прошел собес и получил работу.
@DmitriyDev2 жыл бұрын
Начинающему стоит смотреть?
@mishanep2 жыл бұрын
Начинающий - понятие растяжимое =) Если есть базовое понимание в создании React-приложений, состояний, жизненного цикла, передачи компонентов, а также роутинга, то стоит. Если базы Реакта еще нет, то лучше сначала освоить ее.
@markusha56302 жыл бұрын
Что такое attrs()??
@markusha56302 жыл бұрын
а наверно понял: применяется только к тем тегам, у которых есть какие либо атрибуты(но не точно))))
@HowManyShrimps-g7z Жыл бұрын
ох, как же я не люблю styled-components, большая вероятность совершить грамматическую ошибку, а компилятор ничего не выдаст :(
@Volodymyr-vq5fm4 ай бұрын
Очень путает когда ты почти все стили написал хотя еще даже локалку не запустил показать нам что там, или когда спешишь пишешь медиа запросы для телефонов когда еще пк только начинаешь делать
@den32122 жыл бұрын
Прикольно, год назад выдел такой же проект, только другой подход kzbin.info/www/bejne/rKi9paB-iMZshbs
@Артем-в9э9щ2 жыл бұрын
Если честно, я уже начиная со style-guide ничего не понял, какие-то непонятные вещи, переменные, лучшеб просто на реакте делали + sass
@kitsunaana97832 жыл бұрын
Значит, тебе было рановато такое делать
@denispilyutin48432 жыл бұрын
Спасибо , украл пару фишек)
@v.demchenko Жыл бұрын
Это худшее что я использовал в реакте. Styled Components... Не хорошие люди его создали. Что за синтаксис..