Todo приложение на React для самых маленьких // Твое первое приложение [React, JavaScript, Tailwind]

Поділитися
Вставка
  • Опубліковано 29 чер 2024
  • 🔥 Оформить премиум подписку - htmllessons.ru/premium?...
    ► Интенсив React с нуля (приложение для тренировок) - htmllessons.ru/int/show/3?utm...
    В этом крутом ролике мы сделаем Todo приложение для самых маленьких (с подробными объяснениями)
    Надеюсь Вы оцените мои старания, с Вас лайк и подписка. 🔥 155 лайков и я снимаю еще ролик для новичков (дается мне это супер сложно, не привык все объяснять)
    Если есть какие то вопросы по этой теме - пиши в 💬 комментариях!
    💰 Новый ролик для спонсоров доступен на Boosty boosty.to/redgroup или в нашей общей подписке (от 3 мес.) на сайте htmllessons.ru/premium
    Скачать 🖥 исходник проекта в нашем хранилище - htmllessons.ru/repositories#s...
    #React #ToDo #Junior #RedGroup
    В этом не стандартном видео мы разработаем простое todo приложение (список дел) на React. Но с максимально подробным объяснением, я постараюсь рассказать про каждую функцию и переменную, которую будем использовать. Кроме React, Вы узнаете такие библиотеки как classnames для динамичного вывода классов, react icons для svg иконок, tailwindcss для быстрого написания стилей.
    Тайм коды:
    00:00 - Начало
    00:36 - Поиск дизайна
    02:59 - Как установить React?
    03:52 - Установка Tailwind CSS для упрощенного написания стилей
    08:47 - Структура папок
    11:02 - Что такое компонент и JSX?
    12:23 - Продолжаем разбор файлов и папок
    14:32 - Запуск проекта + тест Tailwind
    15:09 - Обзор дизайна
    16:04 - Массив данных
    17:05 - Вывод списка тудушек
    17:55 - Отдельный компонент тудушки
    19:27 - Компонент красивого чекбокса (react icons)
    23:15 - Layout (общие стили для всех компонентов)
    24:14 - Заголовок
    24:46 - Продолжаем делать компонент тудушки
    27:10 - Локальное состояние массива через хук useState
    29:13 - Выполнение задачи [Функционал]
    31:22 - Как сделать проверку в классах?
    34:35 - Еще раз объясняю функцию "выполнение задачи" Сори за звук :(
    35:13 - Удаление задачи [Функционал]
    38:40 - Добавление задачи [Функционал]
    41:21 - Поле для добавления задачи
    43:19 - Выполнение функции по нажатию на Enter
    43:50 - Доработки поля
    44:47 - Очистка поля после ввода
    45:45 - Что получилось?
    45:56 - Спасибо за просмотр!
    ► Интенсив Node.js + Express - Backend с нуля - htmllessons.ru/int/show/2?utm...
    ► Интенсив по верстке сайта с 0 - htmllessons.ru/int/show/1?utm...
    👉 Смотрите видео ДО КОНЦА, подписывайтесь на канал, ставьте 👍 и колокольчик 🔔
    ► Оформить подписку на нашем сайте - htmllessons.ru/premium
    ► Эксклюзивный контент - boosty.to/redgroup
    ► Оформи спонсорство и получи уникальный значок и эмоджи - / @redgroup
    ► Хранилище (здесь все файлы к видео) *требуется авторизация - htmllessons.ru/storage
    ► Научим разрабатывать сайты - htmllessons.ru/
    ► Личный Instagram - / maxzbs
    ► Личный UA-cam - / @maxhustleinsilence
    ► Получи до 4000 руб. на первое бронирование через Airbnb - abnb.me/e/Mgl6khUuN3
    ► Если хочешь улучшить качество видео - htmllessons.ru/ext/donate
    ► Мой сетап VS Code - • Настройка Visual Stud...
    Немного обо мне: меня зовут Максим, я уже 9 лет занимаюсь веб-разработкой. На данный момент являюсь основателем двух крутых проектов htmllessons.ru и еще одного глобального проекта. Первый, был моей дипломной работой в колледже. Как и все, начинал с изучения верстки html, css, js. Затем появилась потребность в изучении Laravel для разработки образовательного проекта. Затем я ушел от PHP и перешел на Javascript, так как появилась задача по разработке крупного проекта. Основная миссия - создавать крутые продукты, которые будут помогать людям и менять мир. Буду рад, если Вы меня поддержите и подпишитесь на мой канал. Спасибо 😊

КОМЕНТАРІ • 109

  • @REDGroup
    @REDGroup  2 роки тому +6

    🔥 Оформить премиум подписку - htmllessons.ru/premium?
    Скачать 🖥 исходник проекта в нашем хранилище - htmllessons.ru/storage#storage_file_36
    Тайм коды:
    00:00 - Начало
    00:36 - Поиск дизайна
    02:59 - Как установить React?
    03:52 - Установка Tailwind CSS для упрощенного написания стилей
    08:47 - Структура папок
    11:02 - Что такое компонент и JSX?
    12:23 - Продолжаем разбор файлов и папок
    14:32 - Запуск проекта + тест Tailwind
    15:09 - Обзор дизайна
    16:04 - Массив данных
    17:05 - Вывод списка тудушек
    17:55 - Отдельный компонент тудушки
    19:27 - Компонент красивого чекбокса (react icons)
    23:15 - Layout (общие стили для всех компонентов)
    24:14 - Заголовок
    24:46 - Продолжаем делать компонент тудушки
    27:10 - Локальное состояние массива через хук useState
    29:13 - Выполнение задачи [Функционал]
    31:22 - Как сделать проверку в классах?
    34:35 - Еще раз объясняю функцию "выполнение задачи" Сори за звук :(
    35:13 - Удаление задачи [Функционал]
    38:40 - Добавление задачи [Функционал]
    41:21 - Поле для добавления задачи
    43:19 - Выполнение функции по нажатию на Enter
    43:50 - Доработки поля
    44:47 - Очистка поля после ввода
    45:45 - Что получилось?
    45:56 - Спасибо за просмотр!

    • @AreonPak
      @AreonPak 11 місяців тому

      Название темы редактора пж

  • @mister_robot01
    @mister_robot01 2 роки тому +14

    Хотелось бы уроки по TS с реакт) Спасибо за ваш труд!

  • @May-yw1kb
    @May-yw1kb 2 роки тому +1

    Спасибо большое, Макс! Сказал - сделал.

  • @user-ku6jj1mi3j
    @user-ku6jj1mi3j 2 роки тому +1

    Урок - огонь!!! Узнал много нового!!!

  • @nerofighter472
    @nerofighter472 2 роки тому +1

    Топ видос! Наверно контент для новичков всегда будет актуален))

  • @evgenym.2137
    @evgenym.2137 2 роки тому +1

    Круто, когда есть такие материалы для новичков 👍

  • @lonviser4917
    @lonviser4917 Рік тому

    Cпасибо за контент. Классная рубрика

  • @wladis1047
    @wladis1047 Рік тому

    Супер круто и информативно, спасибо что ты есть

  • @Boro8ey
    @Boro8ey 2 роки тому +2

    Спасибо большое за урок! Объясняешь очень круто и понятно. Писал сразу на typescript т.к. посмотрел твоё видео и без него очень сложно будет в будущем. Попробую дополнить этот проект, сделать разные другие фичи: описание, markdown и т.д. Только есть одно но: в layout нужно добавить min-h-screen, чтобы при добавлении новых элементов фон не исчезал.

  • @webstack-frontend1697
    @webstack-frontend1697 Рік тому

    И правда куртой ролик💥

  • @flashback8504
    @flashback8504 2 роки тому +2

    Все четко, все шикарно ОЧЕНЬ хочу чтобы такие видео были почаще, завтра скорее всего куплю у тебя интенсив по Реакту, потому что ты единственный, кто объясняет понятно быстро и самое главное без воды ,а что реально пригодится!

    • @REDGroup
      @REDGroup  2 роки тому

      Буду рад!

    • @flashback8504
      @flashback8504 2 роки тому

      @@REDGroup Седня куплю интенсив на 3 месяца

    • @REDGroup
      @REDGroup  2 роки тому

      👌

    • @flashback8504
      @flashback8504 2 роки тому +1

      @@REDGroup Ты лучший, спасибо за твои старания , ты заслуживаешь большего все хейтеры просто лесом идут 🔥🔥💪💪💪

  • @rettweeerttu3971
    @rettweeerttu3971 Рік тому

    Спасибо огромное, очень полезно!

  • @prototype1269
    @prototype1269 2 роки тому

    Привет Максим! Спасибо за полезны видео.

    • @REDGroup
      @REDGroup  2 роки тому

      Привет, спасибо!

  • @xPyc9x
    @xPyc9x 2 роки тому +3

    Спасибо за крутой контент

  • @unknown.6914
    @unknown.6914 9 місяців тому

    крутое видео, спасибо Макс

    • @REDGroup
      @REDGroup  9 місяців тому +1

      Пожалуйста, скоро кстати перезапустим эту рубрику, придумал более интересный формат

  • @kupolhub6991
    @kupolhub6991 2 роки тому +5

    Привет Макс, хотелось бы посмотреть как сделать доску объявлений на React

  • @user-jb8cc1pt6g
    @user-jb8cc1pt6g Рік тому +3

    Для тех кому все равно сложно понять, выпиваем 0.5 и включаем скорость 0.75

  • @user-mv1pn4ru1x
    @user-mv1pn4ru1x Рік тому

    Спасибо большое!!!!!!!!!!!!!! Очень хорошо объясняете

  • @slava_tfdf
    @slava_tfdf Рік тому

    Делал todo на JS и сохраняли в LocSt, теперь попробую по твоему уроку сделать на react. 👍 Если ещё будут уроки для новичков, то есть такая потребность в реализации проектов для спорта. Видел у тебя курс с индивидуальными тренировкам и подумываю взять чтобы пройти, так как главы там очень в тему. Но в большей степени есть интерес реализовать 1. это турнирная таблица на 4 команды (расписание игр, дата/время, стадион, судья) + ввод результатов (счёт, ФИ забил, ФИ ассистент, минута) + статистика (Бомбардиры, ассистенты) + разумеется админка, чтобы была возможность все эти данные вводить. 2. это ПРОГНОЗЫ - пользователи регистрируются (регистрацию и авторизацию хочу подглядеть из приложения для тренировок) + дальше добавляем матч (или упражнение), на который пользователь может оставить прогноз (П1 Н П2, указать точный счёт и ещё что-нибудь). Далее админ вводит результат матча и считается статистика по прогнозам всех пользователей и показывается кто сколько за что получил баллов и кто на каком месте. [Вот это всё хочется самому сделать, надеюсь на Reacte + mysql это вполне возможно]
    // Отдельно напишу предложение, не сочти за наглость) Сейчас практикуюсь на мини-играх и придумал игру мне в тему спорта: N человекам задаётся по 10 вопросов типа чёрное или белое. Далее пользователь, который зарегистрировался может в своём ЛК узнать с кем у него больше сходства из этих N человек и отвечает на те же 10 вопросов. По итогу получается сообщение с тем, с кем больше совпадений: больше общего с N5.
    >> Предложение: если запишешь урок с такой игрой на react, то готов купить курс: htmllessons.ru/int/show/3 на 3 месяца за 2990р., только подскажи реализована ли там возможность, чтобы админ видел всех пользователей, которые зарегистрированы и их прогресс по упражнениям, если нет, то насколько сложно это делается (буду готов научиться сделать его сам в дальнейшем).
    Спасибо за видео на канале. Подписался и смотрю 👍

  • @morelifetv1041
    @morelifetv1041 2 роки тому +2

    Спасибо за видео

  • @STELLS541
    @STELLS541 Рік тому

    Немножко конечно быстро, но оч и оч круто, и информативно ))

  • @user-sp1gr6xb7q
    @user-sp1gr6xb7q Рік тому

    Красавчик! Я внатуре понял

  • @I248
    @I248 Рік тому

    Вот ты крутой прогер и блогер. хорошо что можно смотреть без ускорения !)

    • @REDGroup
      @REDGroup  Рік тому

      Рад слышать!

  • @anastasiagrigoryeva6971
    @anastasiagrigoryeva6971 2 роки тому

    Продолжай снимать видео)))

  • @kostk1987
    @kostk1987 2 роки тому

    Хороший контент.

  • @lollipop6384
    @lollipop6384 2 роки тому

    классно!

  • @marynagaluza1707
    @marynagaluza1707 8 місяців тому

    Я совсем начинающий реактщик, мне безумно зашло, это определённо подписка!)

  • @maximkutprot7374
    @maximkutprot7374 2 роки тому +2

    Спасибо) как будто на скорости 2x просмотрел

  • @neilhackgamer5941
    @neilhackgamer5941 2 роки тому +4

    Опять Todo)

    • @REDGroup
      @REDGroup  2 роки тому +2

      Подписчик попросил и тут именно попытался для новичков

  • @user_ib_228
    @user_ib_228 2 роки тому +7

    Я уже работал с более сложными задачами и даже выполнял тестовые задания, но мне все равно было очень интересно и полезно это смотреть. Я был очень удивлен, когда ты захотел набрать лишь 150 лайков, потому что во время просмотра сложилось ощущение, что у тебя должна быть прям большая аудитория. Хороший ролик, я подписался

    • @REDGroup
      @REDGroup  2 роки тому

      Спасибо, буду стараться делать крутой контент

  • @user-xs8bz6nl3y
    @user-xs8bz6nl3y 2 роки тому +3

    Просто красава

  • @frontendforyou202
    @frontendforyou202 2 роки тому

    Отличное видео! Будет (или уже есть) видео о том, как стали программистом?

    • @REDGroup
      @REDGroup  2 роки тому +1

      Частично было видео, но в будущем будет ещё

  • @danilkin1347
    @danilkin1347 2 роки тому +5

    однозначно лайк, можно больше контента по реакту начинающим?)

    • @REDGroup
      @REDGroup  2 роки тому

      Посмотрим, как зайдёт

    • @danilkin1347
      @danilkin1347 2 роки тому

      @@REDGroup У меня вопрос по поводу вип чата, я купил подписку на 3 месяца, но не могу найти ссылку на вступление, можете пожалуйста подсказать где её найти?

    • @REDGroup
      @REDGroup  2 роки тому

      Рассылка идёт раз в 2 недели. Сегодня/завтра ожидайте приглашение на почте

  • @sharkman6434
    @sharkman6434 2 роки тому +2

    Макс ты шикарно объясняешь и не парься про то что ты типо не знаешь как объяснить про состояние , новичку придёться переварить и что такое состояние и пропсы и прочее и прочее базовое что он должен понимать как мы с тобой понимаем слово стол )) У тебя просто фарш идёт полезной инфы и правильной практики написания кода -- которую лично я вытягивал из самых разных роликов, то есть то что ты тут показываешь на изи и сразу кучей именно того что нужно --- чтоб научиться так писать надо посмотреть того этого там тут и так месяц два !! Подача быстрая точная чёткая ничего лишнего понятная чёткая дикция, спасибо тебе за видео и за твои труды ! Я рад что идёт новое поколение видео уроков от таких спецов как ты , пили дальше и не останавливайся лично я тебя рекомендую во всех группах в телеге, уверен скоро этот канал будет в топах так как такой подачи и фарша на русскоязычном ютубе почти нет !!
    Пили пожалуйста побольше на тайпскрипт так как уже нулей в школах сразу учат ему.

    • @REDGroup
      @REDGroup  2 роки тому

      Все будет, спасибо!

  • @karp2570
    @karp2570 Рік тому +1

    Не думайте сдаваться - это самое простое😂

  • @rettweeerttu3971
    @rettweeerttu3971 Рік тому

    Я бы хотел бы увидеть как реализуется плавный скролл на Реакт , кнопки наверх/вниз

  • @kostyafrompiter
    @kostyafrompiter 2 роки тому +1

    Это пушка бро!!! Очень понятно! Давай теперь сделай декомпозицию, кастомные хуки. Добавь какой нибудь тулкит, чтобы хранить дела в store, добавь кнопку редактирования задачи и сделай кнопку добавления, одним enter сыт не будешь. вот и план на некст видео

    • @allyoinna
      @allyoinna Рік тому

      Да и на native можно было бы переложить вместе с асинхронным хранилищем. Было бы вообще два в одном)))

  • @yana1347
    @yana1347 6 місяців тому

    Очень быстро для новичков!

  • @StepanamZ
    @StepanamZ 2 роки тому

    Как начинающий делал точно так же , миллион ошибок ничего не понял почему но очень интересно

  • @neilhackgamer5941
    @neilhackgamer5941 2 роки тому +2

    Первый!

  • @user-xs8bz6nl3y
    @user-xs8bz6nl3y 2 роки тому

    Макс, ты на 28:27 заменил список с компонентами "todos" на data, но у тебя снизу стоит todos.map, откуда он берёт значения?

    • @REDGroup
      @REDGroup  2 роки тому +1

      Из useState, я там указал data как значение по умолчанию

  • @May-yw1kb
    @May-yw1kb 2 роки тому +1

    Если кому интересно, тема у Макса "Night Wolf". Режим black

    • @REDGroup
      @REDGroup  2 роки тому +1

      Благодарю 🙏

  • @royce5867
    @royce5867 2 роки тому

    Здраствуйте 31:05 в моменте, у меня не отображается иконка check я ни как не смогла это исправить можете помочь с этим пожалуйста?

  • @user-wc2cq7rk2z
    @user-wc2cq7rk2z 5 місяців тому

    это пздц я просто в шоке я думал после js ничего не страшно

  • @abdulholiq13
    @abdulholiq13 4 місяці тому

    ti haroshiy chelovek brat

    • @REDGroup
      @REDGroup  4 місяці тому

      Спасибо

  • @user-ix2ct2so5c
    @user-ix2ct2so5c Рік тому

    Советую ставить на скорость 0.5.
    Тогда будет понятнее

  • @getrogetro7509
    @getrogetro7509 2 роки тому +1

    Привет, можешь подсказать как такой снипет сделать? А то вручную писать уже поднадоело. На импорт то есть, а вот на создание функуции с текущим названием файла не могу достать

    • @REDGroup
      @REDGroup  2 роки тому +1

      Привет, установите расширение, там все готовые снипеты, у меня ролик был на канале про настройку vs code

  • @user-wf7bn6ch2l
    @user-wf7bn6ch2l Рік тому

    А еще есть вопрос по поводу менеджера пакетов. Посмотрел Ваше видео по сравнению yarn и npm, но решения не увидел. Очень сильно смущает, что для каждого проекта необходимо скачивать используемые пакеты в папку node_modules каждого проекта. Проекты маленькие, учебные. Не слишком удобно каждый раз качать минимум 300МБ для запуска проекта. Искал по интернету, решение данной проблемы. Пишут, что необходимо использовать yarn, вместо npm. Но так и не понял. Как следует устанавливать пакеты, чтобы они были доступны во вложенных проектах. Допустим, есть папка JavaScript. А в ней уже вложенные папки с проектами. Если устанавливать пакеты в папку верхнего уровня, как получить доступ к пакетам из вложенных папок?

    • @REDGroup
      @REDGroup  Рік тому

      Я думаю у Вас мало теории и нужно наверстать. В каждом проекте должна быть папка node_modules, туда будут скачиваться все библиотеки.

  • @forwarddenz2976
    @forwarddenz2976 2 роки тому +3

    Сделай сайт в котором можно будет тренировать печать вслепую и на скорость на React !!!!!!
    Изи 155 так 155

    • @kostyafrompiter
      @kostyafrompiter 2 роки тому

      хм. думаю такое приложение надо разбивать по роликам. Верстка как минимум один ролик, еще 2-3 ролика на логику.

    • @forwarddenz2976
      @forwarddenz2976 2 роки тому

      @@kostyafrompiter да, но идея хорошая или нет?
      И практика и действительно хорошее приложение

    • @REDGroup
      @REDGroup  2 роки тому

      Не популярная тема

  • @Ruslan6896
    @Ruslan6896 Рік тому

    А как сделать проверку input на пустоту, что бы только с текстом добавлялся список?

  • @melitopol_Russia
    @melitopol_Russia 2 роки тому +1

    при платной подписке доступ к последующим проектам будет?

    • @REDGroup
      @REDGroup  2 роки тому +1

      Да, конечно. В течении длительности подписки.

  • @shortstime6664
    @shortstime6664 2 роки тому +1

    мешки под глазами жесткие, высыпайся бро

    • @REDGroup
      @REDGroup  2 роки тому

      Сплю по 7-8 часов, со сном все в порядке

  • @user-wf7bn6ch2l
    @user-wf7bn6ch2l Рік тому

    Добрый день! Повторяю код по уроку, но не применяется стиль tailwinds. Сравнивал, у меня нет файла postcss.config.js. все остальное также как и у вас

    • @REDGroup
      @REDGroup  Рік тому

      Добрый. Откройте официальную документацию и сделайте все по шагам

    • @user-wf7bn6ch2l
      @user-wf7bn6ch2l Рік тому

      делаю все по инструкции с официального сайта. А есть возможность проверить, в чем может быть проблема? Возможно какой-то пакет не установлен.

    • @user-wf7bn6ch2l
      @user-wf7bn6ch2l Рік тому

      разобрался, неправильно была указана конфигурация в файле tailwind.config.js не хватало расширения jsx

    • @user-gx6rq4zr3m
      @user-gx6rq4zr3m Рік тому

      @@user-wf7bn6ch2l ["./src/**/*.{js, jsx, html, ts, tsx}"] у меня тоже не работает, так прописала и ничего

    • @user-gx6rq4zr3m
      @user-gx6rq4zr3m Рік тому

      @@user-wf7bn6ch2l может подскажешь, ещё менял что-нибудь в tailwind-e?

  • @-inside4478
    @-inside4478 2 роки тому +6

    друг, спать иногда нужно!!! Береги здоровье с молоду...

    • @REDGroup
      @REDGroup  2 роки тому +2

      Все хорошо, я сплю по 7-8 часов.

    • @-inside4478
      @-inside4478 2 роки тому +4

      @@REDGroup просто вид уже уставший и не здоровый. Я переживаю за тебя. С точки зрения эффективно прожитой жизни, важно не только выполнять одну из самых важных целей - передавать информацию. Но и прожить самому долгую и здоровую жизнь. ))
      Ты молодец. Отдыхай побольше. А то видно даже после монтажа, что торопишься все время куда-то. На взводе будто.

  • @saint8283
    @saint8283 2 роки тому

    А чем папка screens от pages отличается?

    • @REDGroup
      @REDGroup  2 роки тому

      pages обязательная папка в next.js для роутинга. А screen это кастомная папка для удобства структуры

    • @saint8283
      @saint8283 2 роки тому

      @@REDGroup Спасибо за оперативный ответ. Я next.js не ставил, но роутер и папку pages использую. Не знаю, дело ли в папке или в самом роутере, но я заметил что компоненты страниц нельзя переиспользовать в роутах, иначе они не перерисовываются. Может функционал этой папки в чем-то другом или она просто дефолтная, но ответ я получил. Screens это не про роутинг, а про структуру и ничем не особенная. Еще раз спасибо.

  • @tiktoker428
    @tiktoker428 2 роки тому +2

    тут у тебя какой браузер случайно не firefox

  • @7ZazmaZ7
    @7ZazmaZ7 2 роки тому +1

    Здравствуйте, как ваши дела, здоровье? 🤓 а вы в тиктоке уже есть? 🤔🤓🤓

    • @REDGroup
      @REDGroup  2 роки тому +2

      Привет! В Тиктоке есть. Дела огонь, работаю по трём фронтам сейчас ютуб, интенсивы и основная работа. Здоровье тоже хорошо. Спасибо что интересуешься!

  • @theoty-js-react
    @theoty-js-react Рік тому

    red

  • @neilhackgamer5941
    @neilhackgamer5941 2 роки тому +3

    ua-cam.com/video/a1KmoKMqZW4/v-deo.html - вроде было что такое)

    • @REDGroup
      @REDGroup  2 роки тому +1

      Ну это другой формат, тогда я просто писал, а сейчас для новичков, много было запросов, сделать с максимально полольным разъяснением

  • @poleposition3344
    @poleposition3344 11 місяців тому

    у меня одного не работает удаление?

    • @s1de638
      @s1de638 8 місяців тому

      Всем, чтобы не мучались, подсказываю:
      В последнем button у TodoItem напишите такой код:
      { e.stopPropagation(); removeTodo(todo._id) }}>
      А потом вдумайтесь, сам долго не мог сообразить)

  • @webrubin
    @webrubin Рік тому

    ERROR in ./node_modules/react-icons/all.js ошибка , какой то конфликт

  • @ibnkhaleed
    @ibnkhaleed Рік тому

    НА МОЙ ЛИЧНЫЙ ВЗГЛЯД CRA не самый лучший выбор для разработки React приложений. Лучший - Vite. Очень быстрый и нет ничего лишнего

    • @REDGroup
      @REDGroup  Рік тому +1

      Недавно пощупал vite, реально быстрая штука. В будущих проектах буду использовать