#10: 🍕 React Pizza v2 - Разрабатываем пагинацию и поиск пицц

  Рет қаралды 50,347

Archakov Blog

Archakov Blog

Күн бұрын

React Pizza V2 - Это обновлённый курс на 2022 год, одного из самых популярных курсов 🔥 по ReactJS для начинающих.
Более подробней тут: www.notion.so/...
Исходники доступны в Boosty или в моём Telegram-канале: t.me/archakov_im
❤️ Поддержка:
- Boosty (исходники, макеты): boosty.to/arch...
- Донаты: www.donational...
Старый курс React Pizza - • #1: React Pizza - разр...
👀 Демо: react-pizza-v2...
📝 Полный стек:
ReactJS 18
TypeScript
Redux Toolkit (хранение данных / пицц)
React Router v6 (навигация)
Axios + Fetch (отправка запроса на бэкенд)
React Hooks (хуки)
Prettier (форматирование кода)
CSS-Modules / SCSS (стилизация)
React Content Loader (скелетон)
React Pagination (пагинация)
Lodash.Debounce
Code Splitting, React Loadable, useWhyDidYouUpdate
Ссылка на исходник: github.com/Arc...
Ссылка на вёрстку: github.com/Arc...
Ссылка на дизайн: www.figma.com/...
Таймкоды: еще не готовы
📢 Платный курс по ReactJS с наставником: mentor.archako...
🔗 Следите за обновлениями и информацией в:
- Telegram-канале: t.me/archakov_im
- VK: archako...
- Личном блоге: archakov.im
- GitHub: github.com/Arc...
- Моё резюме: career.habr.co...

Пікірлер: 236
@evilinarm
@evilinarm 2 жыл бұрын
Что я понял из этого видео? - React это как пожар в доме, передавайте пропсы правильно, иначе исход может быть плачевным. Спасибо за видео, с примера на 14:00, смеялся от всей души.
@znogoud4009
@znogoud4009 2 жыл бұрын
Автор, очень интересно заходит такая подача) для меня это что-то среднее между супер-подробным материалом it-kamasutra, который впадлу смотреть, и всеми остальными "супер-вылизанными идеальными" курсами, которые не дают представления, что у тебя может что-то не получаться с первого раза ) Настоящий красавумба 👍👍
@dennyfedyna9707
@dennyfedyna9707 2 жыл бұрын
на самом деле, тут по времени как и it-kamasutra, единственное, что он устарел
@sergeyklokol558
@sergeyklokol558 2 жыл бұрын
@@dennyfedyna9707 раза в 2 по времени айтикамасутра дольше
@dennyfedyna9707
@dennyfedyna9707 2 жыл бұрын
@@sergeyklokol558 в IT камасутра видосов больше в 3 раза, а видосики вместо часа, вроде по 20 минут
@sergeyklokol558
@sergeyklokol558 2 жыл бұрын
@@dennyfedyna9707 там половина видосов по часу как раз,и минут по 40, остальная половина по 20 минут,а последний вообще 2 часа,крутой курс,хоть и старый но полезный для новичков
@dennyfedyna9707
@dennyfedyna9707 2 жыл бұрын
@@sergeyklokol558 понятно, я то проходил первых 30 вроде, та где начались классовые компоненты я уже понял, что не хочу смореть
@strr699
@strr699 Жыл бұрын
0:00 Создаём компонент поиска 8:50 Про props drilling. Передача состояний из одного компонента в другие через пропсы 15:38 Про инпуты в Реакт. Управляемые инпуты. 27:52 Про нынешнюю проблему с передачей пропсов. 31:50 Поиск реализованный для статики. 39:00 Реализуем поиск с бекенд данными. 47:05 Пагинация
@kokunin
@kokunin Жыл бұрын
drilling*
@crypto4elik
@crypto4elik Жыл бұрын
@@kokunin ты еще проходишь курс?
@maggicc
@maggicc Жыл бұрын
@@crypto4elikА ты?)
@crypto4elik
@crypto4elik Жыл бұрын
я прошел
@maggicc
@maggicc Жыл бұрын
@@crypto4elik И как?
@tatianaagapkina8658
@tatianaagapkina8658 2 жыл бұрын
классно, что ты и поиск через filter показал, и через бэк, и пояснил, чем они отличаются. Респект!
@ЛусінеАтаджанян
@ЛусінеАтаджанян 2 жыл бұрын
Огромное спасибо за лучший курс по react!
@shokhrookhr3850
@shokhrookhr3850 2 жыл бұрын
Ну наконец-то) А то испугался, что что-то случилось) Продолжай)
@ВладиславКорчагин-н2п
@ВладиславКорчагин-н2п 2 жыл бұрын
Лучший курс по реакту в ютуб!)
@GabrialWeb
@GabrialWeb 2 жыл бұрын
Очень круто и подробно расписано по запросам. Спасибо!
@RafatAbbassov
@RafatAbbassov 2 жыл бұрын
14:08 Уже представляю как я на собесе буду приводить примеры)
@ПолинаЛисица-в1д
@ПолинаЛисица-в1д Жыл бұрын
Отдельное спасибо за смешные аналогии, отлично разбавляет обстановку)
@ПавелСтародубцев-ц6ш
@ПавелСтародубцев-ц6ш Жыл бұрын
Объясняет супер подробно, почти что на пальцах👍
@TheAlexChannelClub
@TheAlexChannelClub 2 жыл бұрын
Спасибо за замечательный учебный курс
@Evgeny..
@Evgeny.. 2 жыл бұрын
Спасибо за отличное видео. React, redux, js, lesson
@РусланХолов-ж5г
@РусланХолов-ж5г 2 жыл бұрын
Просто крутой и бесплатный современный курс по реакт
@КириллМохначевский-о3ю
@КириллМохначевский-о3ю 2 жыл бұрын
Не забудь добавить видео в плейлист!
@delaynah
@delaynah 2 жыл бұрын
ребята, лайкайте обязательно видео, идеальная подача как по мне
@tastebublik
@tastebublik Жыл бұрын
опять таки благодарю за отличный контент
@mavldr
@mavldr 2 жыл бұрын
Ты лучший, а примеры твои еще лучше 😁 Спасибо за видео
@CyberGenius777
@CyberGenius777 2 жыл бұрын
1) 56:10 по центру у тебя не встало потому что align-items надо было написать, не align-self 2) Пагинация. Если бэк не возвращает нужное количество страниц, то мы можем сами посчитать: Math.ceil(Общее количество товаров / Лимит отображения товаров на странице) 3) 1:10:13. Mockapi работает корректно. Ты при поиске должен перекидывать пользователя на первую страницу. При поиске тебе надо было пересчитывать количество товара отображаемого и в пагинации показывать нужное количество страниц (Если бы у тебя было, например, 5 сырных пицц, то на второй странице была бы одна пицца). Данная проблема выкатилась из пункта 2, который я описал выше
@dmytronice1337
@dmytronice1337 2 жыл бұрын
2) Тогда надо чтобы бек возвращал общее количество товаров отдельным полем. В данном случае mockapi не возвращает ни общее количество страниц, ни общее количество товаров. Общее количество товаров мы здесь получим, ТОЛЬКО если вытянем абсолютно ВСЕ товары в запросе не указывая page и limit. А если товаров будет 1000+ ? Так что я более солидарен с автором, бекенд должен возвращать либо общее кол-во страниц и текущую, либо общее кол-во товаров.
@vladimirivanov4756
@vladimirivanov4756 2 жыл бұрын
@@dmytronice1337 общее кол-во item как раз таки возвращает
@dmytronice1337
@dmytronice1337 2 жыл бұрын
@@vladimirivanov4756 Можешь, пожалуйста, показать/объяснить, где у нас возвращается общее кол-во товаров?
@vladimirivanov4756
@vladimirivanov4756 2 жыл бұрын
@@dmytronice1337 в мокапи, там где ты выбираешь свои бд, есть кнопочка edit, там для эндпоинта GET /items пропиши { "items": "$mockData", "count": "$count" } $mockData - refers to the actual data stored in DB. $count - refers to the number of records stored in DB.
@dmytronice1337
@dmytronice1337 2 жыл бұрын
@@vladimirivanov4756 ого, супер. Это уже конструктивный ответ, спасибо) А ведь стоило мне нажать пару кнопок и я бы это обнаружил, признаю. Просто, думаю, автору стоило разобрать это в видео, и претензия была конечно не к МокАпи, а к видосу. Но с другой стороны, я как заинтересованный чел, мог это и сам найти и сделать пагинацию не так как на видео.
@СергейСомов-м8ы
@СергейСомов-м8ы Жыл бұрын
пример с пожаром крутой, вот бы побольше таких)
@iamboikodmytro
@iamboikodmytro 14 күн бұрын
Крутой урок!) Спасибо) Но пагинацию написал сам, показалось так проще, что бы под стили библиотеки не подстаиваться)
@carnivores6823
@carnivores6823 Жыл бұрын
Около-гениальная подача на самом деле
@СашоКутуков
@СашоКутуков 2 жыл бұрын
Курс от души. Archakov добра тебе. Сделай пожалуйста после этого курса еще какой-нибудь посложнее
@ВадимГапоненко-ь4в
@ВадимГапоненко-ь4в 2 ай бұрын
Привет ,когда li стилизуешь ,написал align-self а надо было items тогда бы сразу цифры по центру втали
@ПерсивальЛоуэл
@ПерсивальЛоуэл Жыл бұрын
9:00 SEARCH 47:00 pagination
@DirtyKalach
@DirtyKalach 11 ай бұрын
Thanks for a lesson. You're THE GOAT
@Калабарака
@Калабарака 10 ай бұрын
GOAT - это же козел ...
@finger_colors
@finger_colors 9 ай бұрын
@@Калабарака это двухсмысленное слово, у него ещё есть значение типо крутой или чё то типо того
@youthhazed3606
@youthhazed3606 Ай бұрын
@@Калабарака GOAT - greatest of all time
@x-bit5193
@x-bit5193 2 жыл бұрын
Что бы поиск прижат к логотипу нужно margin-right: auto
@ГеннадийГорохов-ц8н
@ГеннадийГорохов-ц8н 9 ай бұрын
Супер урок про пагинацию
@iznaur_18
@iznaur_18 Жыл бұрын
Отличный курс
@learningit2572
@learningit2572 Жыл бұрын
ребят если у кого-то не будет инпут отчищятся с первого клика, уберите в стилях 'focus' . Ломал голову долго))
@maga_frank
@maga_frank Жыл бұрын
А почему у него работает с первого раза?0_о
@smoke2638
@smoke2638 Жыл бұрын
тоже орнул с примера пожара))
@helloglobalme9689
@helloglobalme9689 Жыл бұрын
При работающей анимации расширения поля ввода при фокусе, к сожалению, очистка поля не срабатывает с первого раза. Если убрать анимацию - все отлично.
@maga_frank
@maga_frank Жыл бұрын
У меня также, незнал в чем проблема а оказывается вот в чем..
@EvilYou
@EvilYou 3 ай бұрын
1:04:09 Когда спрашивают, нужна ли математика программисту :D
@Artur-oh3pt
@Artur-oh3pt Жыл бұрын
Не знал что Нурлан Сабуров фронтендер. Вот такая вот история
@Oleg_Artemov
@Oleg_Artemov 2 жыл бұрын
ТОП контент :))
@nadiapekarskaya9776
@nadiapekarskaya9776 5 ай бұрын
Ребят, это трындец! С этим проектом я все время хочу пиццу! Представляю, что было бы если бы проект был о каких-то секс-игрушках)))
@nikomunikabelen8540
@nikomunikabelen8540 Жыл бұрын
Спасибо.
@nickdunne1235
@nickdunne1235 2 жыл бұрын
Cпасибо.
@aiperiaku633
@aiperiaku633 Жыл бұрын
scroll срабатывает потому что window.scrollTo(0,0) находится внутри useEffect, который срабатывает при изменении currentPage, так как currenPage находится в массиве зависимостей useEffect.
@aserezhnikov
@aserezhnikov 2 ай бұрын
Если есть кто пишет сначала rafc, а потом дописывает вручную export default, то можно использовать сразу алиас rafce
@meowdices
@meowdices 2 жыл бұрын
а будет ли курс с норм бэком вместо мокапи?
@КенанСалахов
@КенанСалахов 4 ай бұрын
Ты не учёл один момент. Ты сказал, что при вводе текста в поле мы отправляем запрос в бэк и получаем оттуда пиццы. Но получается, что мы сильно при этом нагрузим бэк постоянными запросами, в таких случаях использкется дэбоунс. Я думаю, что ты специально об этом не рассказал, так как это сложная тема для новичков, надеюсь в следующих видео ты об этом не забыл упомянуть, спасибо за видео
@JavaScriptcher
@JavaScriptcher 2 жыл бұрын
Propsдриллинг - это ни есть хорошо! 28:00
@vova_elys1um
@vova_elys1um 2 жыл бұрын
Столкнулся с проблемой mockApi - если я добавляю еще search в url params, то поиск вообще не работает. Решил это следующим образом - оставил фильтрацию на фронтенде, но при начале поиска перевожу вручную категорию на Все пиццы. Таким образом делается всего 1 запрос на бек (в будущем не нужно будет даже дебаунсить все это), но фильтрация выдает нужные результаты еще и с сортировкой. Мне решение понравилось, мб будет кому-то еще полезно.
@lidijajezova2025
@lidijajezova2025 2 жыл бұрын
Попробуйте json-server вместо mock-api
@katenka_katrusya
@katenka_katrusya Ай бұрын
​@@lidijajezova2025 на данный момент там нет поиска. Он был в версии 0.17.4, сейчас 1.0.0-beta.2. Мой коммент для тех, кто захочет поставить. Кому надо её установить npm i json-server@0.17.4 В целом, я использую последнюю версию и поиск сделала на клиенте
@victoriakovaleva7238
@victoriakovaleva7238 2 жыл бұрын
После добавления пагинации что-то перестали отображаться пиццы в категориях. скелетон срабатывает, но пицц нету((
@theoty-js
@theoty-js Жыл бұрын
у меня такая же проблема - такая ссылка работает некорректно ----> ?page=1&limit=3category=1&sortBy=rating&order=asc
@argentum2521
@argentum2521 Жыл бұрын
да, такая же ошибка. не помнишь, как ее решил?
@alexsatm05
@alexsatm05 4 ай бұрын
у меня тоже так. Кто решил, подскажите пожалуйста
@ПолинаЛисица-в1д
@ПолинаЛисица-в1д Жыл бұрын
это конечно прикол, назвала не title, a name - забыла. Через неделю два часа разбиралась и не втупляла, повторяя за автором title, почему includes не находит))
@ВикторияПерник
@ВикторияПерник 10 ай бұрын
аналогично! спасибо за комментарий, Вы сэкономили мне кучу времени😆
@джидай-ю6р
@джидай-ю6р 8 ай бұрын
55:25 English very good 🤣🤣
@ГавриловАлександр-н2е
@ГавриловАлександр-н2е 2 жыл бұрын
Mockapi вазращает массив пицц, мы же можем длину этого масива разделить на количество пицц на одной странице и получить колличество страниц
@theoty-js
@theoty-js Жыл бұрын
основная задача показать концепцию а допилить (длину) можно уже отдельно
@aliskhankhutiev
@aliskhankhutiev Жыл бұрын
55:51 align-items: center; * 🙂
@nursultansarazhiev9821
@nursultansarazhiev9821 2 жыл бұрын
бро используй react-icons там намного проще, зачем тебе эти svg
@Евгений-х7п9с
@Евгений-х7п9с 2 жыл бұрын
Компоненты приложения становятся нагруженными и менее понятными. А так все супер продолжаем))
@dever312
@dever312 Жыл бұрын
43:57 Гвардиола
@anton-haskevych
@anton-haskevych 2 жыл бұрын
Ачаков, умоляю добавь таймкоды 🙏
@unclechernomor4421
@unclechernomor4421 2 жыл бұрын
а есть смысл сейчас через цепочку промисов получать количество для пагинации, а потом уже вызывать дальше? Или потом поправим?
@zetkart1821
@zetkart1821 Жыл бұрын
кто смог решить проблему что при поиске пицц не переносятся на одну страницу, а остаются на своих?
@Unnamed-r8x
@Unnamed-r8x 2 жыл бұрын
Отлиные видео ))
@rusfungame
@rusfungame 2 жыл бұрын
с бека приходит массив пицц, можно же по длине массива посчитать, кол-во страниц
@unclechernomor4421
@unclechernomor4421 2 жыл бұрын
вы сделали ?
@rusfungame
@rusfungame 2 жыл бұрын
@@unclechernomor4421 Ну я на работе так делал, как временный костыль, пока бек не исправили. Там была таблица, покупок пользователя и они приходили все сразу, и нужно было все что пришло разбить на страницы. Если не приходит все сразу, так не сделать. Вроде логично обьяснил.
@rusfungame
@rusfungame 2 жыл бұрын
@@user-islamkaz Какой ты догадливый.
@rusfungame
@rusfungame 2 жыл бұрын
@@user-islamkaz тут только практика поможет, дорогу осилит идущий. Я вот вообще выгорел, отдыхаю
@fmleglrmglrml
@fmleglrmglrml 2 жыл бұрын
Я не понимаю как у автора выходит выгрузить SVG c полями circle и тд. у меня только какой то path в котором куча цифр и всё
@kenanhaciyev3759
@kenanhaciyev3759 Жыл бұрын
класс
@andreynevazhniy
@andreynevazhniy Жыл бұрын
Добрый день! подскажите как сделать очистку поля ввода при работающей анимации расширения при фокусе, потому что так не работает, только если анимация отключена. Заранее спасибо!
@АлександрБородинов-к2р
@АлександрБородинов-к2р Жыл бұрын
С мокапи все впорядке) нужен параметр не search а title для поиска
@krypton5204
@krypton5204 Жыл бұрын
поставил title, не заработало :9
@Dudd1man
@Dudd1man Жыл бұрын
@@krypton5204 Так же
@ИльяСеливанов-п5э
@ИльяСеливанов-п5э Жыл бұрын
@@Dudd1man Лично я поставил &search после &sortBy. проблема в том что теперь поиск не работает когда ты отфильтровал :(
@SnowBoard154
@SnowBoard154 Жыл бұрын
@@krypton5204 Возможно забыл указать зависимость в useEffect, если не указать, то оно не будет перерисовывать пиццы
@Dudd1man
@Dudd1man Жыл бұрын
У кого-нибудь получилось сделать поиск в категории с помощью MockApi? У меня при поиске просто отображает пиццы в этой категории. Ищет только с категории "Все"
@holyholy413
@holyholy413 Жыл бұрын
такой же вопрос, удалось ли тебе решить проблему?
@Dudd1man
@Dudd1man Жыл бұрын
@@holyholy413 не удалось, хз вообще как сделать
@holyholy413
@holyholy413 Жыл бұрын
@@Dudd1man все я разобралась 😉
@Dudd1man
@Dudd1man Жыл бұрын
@@holyholy413 ого, как??
@Dudd1man
@Dudd1man Жыл бұрын
@@holyholy413 нуууу??
@dmaberlin
@dmaberlin Жыл бұрын
какой темой ты пользуешься в вскоде?
@RusDevel
@RusDevel Жыл бұрын
Я правильно понял, что на каждом сервере будут свои команды для поиска, сортировки?
@jamjam3337
@jamjam3337 Жыл бұрын
👍
@arturaghasafyants316
@arturaghasafyants316 2 жыл бұрын
A ReactJS component to render a pagination. Note: You should write your own css to obtain this UI. This package do not provide any css.
@navajo458
@navajo458 Жыл бұрын
Немного смесь получилась. React-pagination позволяет реализовать пагинацию статических данных, но в видео автор малость проглядел и скопировал только компонент без всяких констант и обработчиков и прочей шелухи. А далее получается, что этот пакет уже используется для получения динамических данных с БД. Ощущение, будто делал-делал, а потом понял, что чет как-то не так выходит, на ходу всех переиграл и уничтожил)
@dvromin
@dvromin 9 ай бұрын
автор, скажи, пожалуйста, почему ты выбрал именно мокапи, если в нем нельзя то, что можно у всех остальных бек-сервисов?
@B1nikup
@B1nikup 2 жыл бұрын
Кто может подсказать, какая здесь тема VS Code? Вроде на дефолтный Atom One Dark не похоже, хотя может ошибаюсь :/
@B1nikup
@B1nikup 2 жыл бұрын
@levovskii спасибо, добрый человек)
@ИльяИваник-ф8ф
@ИльяИваник-ф8ф Жыл бұрын
а что будет, если мы уйдем на 3ю страницу и потом воспользуемся поиском?
@powerjavascriptman
@powerjavascriptman Жыл бұрын
не будет работать поиск (
@ДмитрийЛихачев-в2у
@ДмитрийЛихачев-в2у Жыл бұрын
Пожар и ведра))))))!
@JdIm6fhjLgdWRhn
@JdIm6fhjLgdWRhn Жыл бұрын
1:07:00
@diggerdog001
@diggerdog001 9 ай бұрын
Я правильно понимаю что Редакс мы будем использовать чтобы не заниматься этой дрочкой пропсов и состояний через родителя и ребенка? Это же просто пиздец захламляет код и ты путаешься
@Tauron211
@Tauron211 2 жыл бұрын
Если тут поиск идет через бэкэнд, то к нижнему регистру где-то там же автоматически переводит?
@MaximLisyanskiy
@MaximLisyanskiy 2 жыл бұрын
Такой вопрос, уже 10 урок, а когда начнёшь внедрять ts и redux?
@ArchakovBlog
@ArchakovBlog 2 жыл бұрын
С 20 урока
@rygach
@rygach 2 жыл бұрын
спасибо! подскажите, у нас при поиску по бэкенду toLowerCase происходит на стороне бэкенда?
@sergeko9443
@sergeko9443 2 жыл бұрын
Получается, что да
@holovkevych
@holovkevych 2 жыл бұрын
есть альтернатива mockapi?
@lidijajezova2025
@lidijajezova2025 2 жыл бұрын
json server
@tutnichegonet
@tutnichegonet 2 жыл бұрын
Сколько всего уроков планируется в курсе?
@ArchakovBlog
@ArchakovBlog 2 жыл бұрын
+-30
@eigan_is
@eigan_is 4 ай бұрын
Может кто-то сталкивался: Мокапи не возвращает пустой массив, а возвращает "Not found" из-за чего приложение ломается. Например, это происходит после того как в поиск ввести запрос, который не будет отображать пиццы. По идее должен быть возвращён пустой массив и в приложении просто ничего не отобразиться, а в моём случае отображается 404 и приложение ломается.
@bax8686
@bax8686 3 ай бұрын
Нашли ответ на этот вопрос?
@РенатаАндросова
@РенатаАндросова 3 ай бұрын
@@bax8686 я сама фиксила эту проблему, делала проверку вернулся ли массив или нет. ... (предыдущий код) .then((data) => { if (Array.isArray(data)) { setItems(data); } else { setItems([]); } не знаю правильно или нет, но у меня работает, приложение не ломается
@bax8686
@bax8686 3 ай бұрын
​@@РенатаАндросова Cпасибо помогли, сразу не додумался до такого решения
@eigan_is
@eigan_is 3 ай бұрын
@@bax8686 Не стал разбираться, так как axios решил эту проблему автоматически, ошибки 404 не было, при этом в запросе на наш мок-сервер ошибка всё равно появлялась, как и должно быть. Как я понял, это особенность сервиса Мокапи. Хочу отметить, пройдя этот курс, тот факт, что я не стал заморачиваться над этой проблемой это только +, так как далее по курсу она будет не актуальна, всё будет работать корректно.
@webbomj
@webbomj 2 жыл бұрын
Вопрос что ты делал целый месяц. видюшки уже месячной давности
@vladyslavkravchenko5955
@vladyslavkravchenko5955 Жыл бұрын
ммм) кто-то флексы не знает😄
@YulVilaya
@YulVilaya Жыл бұрын
делала без пагинации , показалось сложно) через. неделю вернулась и сделала с вами с пагинацией 😊 уроков в ютуб я лучше вашей пиццы не нашла. ПОдскажите пожалуйста, как убрать поиск из Header когда мы переходим в корзину ??? там он совсем ни к чему, но он лежит в Header и не меняется. или это. дальше по курсу мы уберем ?
@crypto4elik
@crypto4elik Жыл бұрын
еще есть путь самурая, но немного устарел, зато оч подробный. Хочешь в чат для тех кто прям сейчас пиццу проходит?
@YulVilaya
@YulVilaya Жыл бұрын
@@crypto4elik да, хочу
@Павел-ф9ш6р
@Павел-ф9ш6р 11 ай бұрын
6:20 иконка
@YulVilaya
@YulVilaya Жыл бұрын
жаль, что вы не написали пагинцию с нуля сами , хотелось бы без библиотеки! но урок все равно хороший, конечно
@crypto4elik
@crypto4elik Жыл бұрын
для практики хорошо было бы, но в реальной разработке все равно используют библы
@zakiro4277
@zakiro4277 2 жыл бұрын
49:05 В ЧЁМ разница между yarn и npm и почему именно npm используем?
@zakiro4277
@zakiro4277 2 жыл бұрын
посмотрел видео на тему ярн против нпм кратко плюсы yarn новее, быстрее на 30%, чуть легче работать с версиями зависимостей, догоняет npm по популярности, разработала команда фейсбука npm старее, популярнее на 30% (но ярн догоняет быстро)
@salvadorvdali6339
@salvadorvdali6339 2 жыл бұрын
Npm устанавливает пакеты зависимостей последовательно Yarn это делает параллельно Поэтому установка с ярном быстрее. Ну и в форме записей npm i или yarn add А так более различий особо нет
@serjsamoilow8711
@serjsamoilow8711 2 жыл бұрын
44:40 у меня одного mockapi нормально работает без багов и выводит все четко как надо?
@VadimFilippov
@VadimFilippov 2 жыл бұрын
У меня тоже вроде работает без багов, т. е. поиск работает внутри категории (например, из "Вегетарианских" при поиске на "пеп" выдает только одну пиццу Крэйзи пепперони, и на mockapi отдает запрос вроде тоже правильно: category=2&sortBy=rating&order=desc&search=%D0%BF%D0%B5%D0%BF. Наверное, починили :)
@holyholy413
@holyholy413 Жыл бұрын
@@VadimFilippov нет, не починили(
@crn05
@crn05 Жыл бұрын
Че-то у меня поиск в мокапи на бэке вообще не работает, парамтры норм передаются, все видно в Payload, но пустой массив возвращает
@crn05
@crn05 Жыл бұрын
причем он не ищет именно по title. А price отрабатывает нормально
@injty
@injty 2 жыл бұрын
а нельзя было бы, вернуть колличество все пиццы, разделить их на колличество пицц на страницу, округлить сумму в большую сторону и засунуть это в колличество страниц, если бэк не даёт этой инфы?
@vladp5728
@vladp5728 Жыл бұрын
Спасибо за уроки! Кто-нибудь знает название этого расширения, что при выделении переводит текст с отображением картинки в тему)?
@clojure_sith
@clojure_sith Жыл бұрын
Vimbox расширение
@vladp5728
@vladp5728 Жыл бұрын
@@clojure_sith Спасибо
@DenysTolmachov
@DenysTolmachov Жыл бұрын
пора уже делать урок как сделать нормальный бекенд и не мучатся с mockApi
@crypto4elik
@crypto4elik Жыл бұрын
можно попробовать фаербейс
@dev-kj7on
@dev-kj7on 2 жыл бұрын
😌
@Андрей-д3й7ъ
@Андрей-д3й7ъ 2 жыл бұрын
А как в итоге отключить прыжок скролла вверх при запросе?
@ArchakovBlog
@ArchakovBlog 2 жыл бұрын
window.scrollTo(0,0) убрать
@ryumayer
@ryumayer 2 жыл бұрын
почему передавая в .includes пустую строку, он возвращает true?
@Alias_s
@Alias_s Жыл бұрын
Когда пустая строка '' передается в метод .includes(), она рассматривается как пустая подстрока. Поскольку пустая подстрока является частью любой строки, метод .includes('') всегда возвращает true, потому что каждая строка содержит пустую подстроку.
@nomad5566
@nomad5566 2 жыл бұрын
Дэннис, ты пофиксишь в дальнейшем захардкоженную пагинацию? это изи сделать
@ArchakovBlog
@ArchakovBlog 2 жыл бұрын
Через редакс?
@nomad5566
@nomad5566 2 жыл бұрын
@@ArchakovBlog неважно через что. ты понял, что количество страниц можно динамически получать исходя из длины массива пицц?
@ArchakovBlog
@ArchakovBlog 2 жыл бұрын
Можно, но так не делают в реальных приложениях. Бэк может вернуть 10.000 записей и нет смысла их всех запрашивать. Нормальный бэк должен говорить сам сколько у него страниц
@nomad5566
@nomad5566 2 жыл бұрын
@@ArchakovBlog понял
@Frezeee3D
@Frezeee3D Жыл бұрын
Когда добавил пагинацию, перестали работать категории, надо бы как то исправить
@dever312
@dever312 Жыл бұрын
у меня тоже. нашел решение?
@Frezeee3D
@Frezeee3D Жыл бұрын
@@dever312 Ну по идее, так как пиц мало, то все они, при выборе категории, остаются на первой страничке
@dever312
@dever312 Жыл бұрын
@@Frezeee3D да я уже решил, у меня проблема была при fetch, не верно указал параметр.
@maxim_cernegei7776
@maxim_cernegei7776 11 ай бұрын
вот мой код если что const Home = ({ searchValue }) => { const [items, setItems] = React.useState([]); const [isLoading, setIsLoading] = React.useState(true); const [categoryId, setCategpryId] = React.useState(0); const [sortType, setSortType] = React.useState({ name: 'популярности', sort: 'rating' }); const category = categoryId > 0 ? `&category=${categoryId}` : ''; const search = searchValue ? `&search=${searchValue}` : ''; const [currentPage, setCurrentPage] = React.useState(1); React.useEffect(() => { setIsLoading(true); fetch( `6511e90eb8c6ce52b3952fb2.mockapi.io/items?&page=${currentPage}&limit=4&sortBy=${sortType.sort}&order=desc${search}${category}`, ) .then((res) => { return res.json(); }) .then((arr) => { setItems(arr); setIsLoading(false); }); window.scrollTo(0, 0); }, [categoryId, sortType, searchValue, category, search, currentPage]);
@RuslanDasaev-f7f
@RuslanDasaev-f7f 2 жыл бұрын
Ребят, скиньте пожалуйста готовый код первых 10 уроков, я работаю и нет возможности проходить весь курс (((
@MsThe13th
@MsThe13th 2 жыл бұрын
если еще актуально, кинь телегу, скину архивом
@nazarii027
@nazarii027 2 жыл бұрын
@@MsThe13th скинь @isco23
@tastebublik
@tastebublik Жыл бұрын
с кайфом, мок апи упал
@GLUCKKKKKKKKKK
@GLUCKKKKKKKKKK 2 жыл бұрын
Как выводить два терменала сразу ?
@GLUCKKKKKKKKKK
@GLUCKKKKKKKKKK 2 жыл бұрын
@Денис Басанець спасибо))
@OvGames
@OvGames 2 жыл бұрын
Мб у мокапи кол-во страниц в headers
@velony2988
@velony2988 Жыл бұрын
Кто знает почему при поиске пицц через бэкенд, у меня ничего не получает? Т.е у меня отображаются все пиццы, в network'e fetch получает данные search, но пиццы не рендерятся, делал чуть по-другому - не работало, делал точь-в-точь как автор - не работает. Может кто подсказать? Или это уже проблемы с mockapi в нынешнее время?
@true227
@true227 Жыл бұрын
разобрались? такая же фигня, по ходу мокапи оставили бесплатным фильтр только по одному параметру
How To Get Married:   #short
00:22
Jin and Hattie
Рет қаралды 26 МЛН
The Ultimate Prototyping Workflow: Cursor AI + Replit
13:24
Yifan - Beyond the Hype
Рет қаралды 1,5 М.
I built the same app 10 times // Which JS Framework is best?
21:58
Fireship
Рет қаралды 2,5 МЛН
Redux - Complete Tutorial (with Redux Toolkit)
37:01
Cosden Solutions
Рет қаралды 217 М.
React Query за 10 минут! Быстрый курс
11:34
Archakov Blog
Рет қаралды 55 М.
Why Signals Are Better Than React Hooks
16:30
Web Dev Simplified
Рет қаралды 479 М.