Пишем галерею на React + TypeScript & Deploy

แชร์
ฝัง
  • เผยแพร่เมื่อ 31 ธ.ค. 2024

ความคิดเห็น • 64

  • @IT-Svyatoslav
    @IT-Svyatoslav ปีที่แล้ว +2

    Респект 👍🏼 Елена!
    Интересная карусель 😊
    Приятно смотреть как ты кодишь и к тому же учиться ❤

  • @truedivan
    @truedivan ปีที่แล้ว +2

    Приятная спокойная подача материала, как у любимого учителя в школе) Спасибо!

  • @anton_ovcharenko
    @anton_ovcharenko ปีที่แล้ว +1

    Thank you very much!

  • @3agoskin
    @3agoskin ปีที่แล้ว

    очень полезно! спасибо большое!!!

  • @k-ivan
    @k-ivan ปีที่แล้ว

    Елена спасибо! Очень круто!

  • @sergey_zatsepin
    @sergey_zatsepin 6 หลายเดือนก่อน

    Спасибо за урок, галерея прикольная. Видео давно выпущено, не знаю как сейчас делаешь уроки, но просто по подаче хотелось бы, чтобы ты больше писала код и меньше юзала "копировать-вставить". Так проще воспринимать и понимать логику решений.
    По уроку я бы отметил момент с подгрузкой картинок: когда подгружается картинка при клике, может быть ситуация с лагом интернета/сервера, и переключение фото задержится, а обложка уедет уже на нужное превью. Получится такой рассинхрон. Поэтому я бы предложил здесь всё-таки рендерить только одну картинку и при начальной загрузке страницы подгружать все остальные картинки сразу, но асинхронно, примерно так:
    useEffect(() => data.forEach(item => new Image().src = item.src), []).
    По превью есть несколько моментов, возможно у тебя немного глаз "замылился", у основного фото 2:1 разрешение, у превью 154X80, слегка не совпадает. Далее между превью используешь margin по бокам, хотя здесь у нас flex-контейнер, удобнее просто использовать gap для расчётов. Ну и позиционирование оверлея - белой обложки с номером фото, здесь ты используешь left + translate, но остаётся ещё литерал числа(164) в js-коде для перетаскивания дорожки с превью. Всё это можно связать, используя css переменные, к ним есть доступ в js, соответственно получаем значение в js и используем в расчётах. Тогда будет максимальная динамичность.

    • @webelart
      @webelart  6 หลายเดือนก่อน

      Превьюшки дизайнер делает. Я к нему не пристаю ❤️

    • @sergey_zatsepin
      @sergey_zatsepin 6 หลายเดือนก่อน

      @@webelart Превью я имел в виду компонент галереи в коде), у тебя это

  • @ТауекелАлтынбеков-о9ъ
    @ТауекелАлтынбеков-о9ъ ปีที่แล้ว +3

    Привет!
    Шикарно выглядишь!
    Зашел на сайт. Действительно очень приятная галерея (как сам сайт в целом). Было бы интересно посмотреть реализацию Меню (сайдбар).

  • @wizardoflightnings6841
    @wizardoflightnings6841 ปีที่แล้ว +2

    А что в Англиях про Angular слышно? Вакансии на нём есть?
    Фирма с Preact на Solid не думает переходить?

    • @webelart
      @webelart  ปีที่แล้ว

      не пока не думаем. А зачем вам быстрая смена технологий?

    • @wizardoflightnings6841
      @wizardoflightnings6841 ปีที่แล้ว

      @@webelart Preact какой-то не модный, на The State of JS и Stack Overflow, отзывы примерно: "Что это такое, я наверное не буду это использовать" 🙂

  • @olexandrsavelev4458
    @olexandrsavelev4458 ปีที่แล้ว

    Thanks for content it's fun and useful

  • @АлександрВикторович-т4б
    @АлександрВикторович-т4б ปีที่แล้ว

    СПАСИБО👍👍👍👍👍👍

  • @di_may988
    @di_may988 ปีที่แล้ว

    Урок просто супер, спасибо огромное ! Как идея для очередного видео касательно этой галереи, можно сделать адаптив, а можно и не делать, дело автора :)

  • @alenache1
    @alenache1 ปีที่แล้ว +1

  • @wizardoflightnings6841
    @wizardoflightnings6841 ปีที่แล้ว +1

    Vite (вит) - с фр. быстро. 😊

  • @YaniaRZ
    @YaniaRZ ปีที่แล้ว

    еще не смотрела, но лайк поставила, тк. знаю, что будет круто
    добавлю в закладки и буду вместе делать
    А вообще есть вопрос: стоит ли учиться так как я делаю: вместе с вами допустим разворачиваю проект и повторяю, есть ли вообще смысл в таком обучении?
    Или нужно брать какой-то проект и тупо пытаться делать, даже если это займет очень много времени тк я еще только изучаю реакт?
    как вообще обучаться?

    • @webelart
      @webelart  ปีที่แล้ว +1

      Мне кажется собрать по уроку стоит, вы так лучше усвоите, что вы делаете и сможете задать вопросы, и в итоге получить результат. Но нужно задавать вопросы если что-то не понятно и почему так, если сомневаетесь попробуйте по другому. Пробовать придумывать себе ещё задачи и интересности, а что если тоже в плюс, а как добавить это.

    • @webelart
      @webelart  ปีที่แล้ว +1

      Ещё как вариант, реализовать самому. Часть и посмотреть как я сделала. Вот это будет вообще огонь!
      Т.е. вы пробуете хоть как-то собрать, если для вас это тема новая. А потом смотрите результат и тогда вы усвоите урок ещё лучше и сможете внедрить в себя подходы и понимания.

    • @webelart
      @webelart  ปีที่แล้ว +1

      Я использовала два варианта обучения в своём пути и оба мне помогали, улучшить свои профессиональные навыки.

    • @YaniaRZ
      @YaniaRZ ปีที่แล้ว

      @@webelart спасибо большое, буду пробовать

  • @МаксимВладимирович-я7ю
    @МаксимВладимирович-я7ю ปีที่แล้ว

    фотографии из поездки в Норвегию, а что там делает машина Магнит?

    • @webelart
      @webelart  ปีที่แล้ว

      ахахаха, за исключением второй фотки, это Норвегия. Кстати ссылка на демо wolf-gallery-liveldi90.vercel.app/

    • @webelart
      @webelart  ปีที่แล้ว

      Вторая фотка это кажется Старица в Тверской области рядом со Старицким Свято-Успенским монастырём. 🤔

  • @wizardoflightnings6841
    @wizardoflightnings6841 ปีที่แล้ว +1

    Тебе не кажется что VS Сode выглядит как-то дёшево, нет желания на Webstorm пересесть?

    • @webelart
      @webelart  ปีที่แล้ว

      нет, я не сужу продукт по его цене. VS Code отличный редактор, которого мне достаточно.

  • @artemivanov5013
    @artemivanov5013 ปีที่แล้ว +1

    А как же курс по typescript ? (((

    • @webelart
      @webelart  ปีที่แล้ว

      Так у меня же есть два видео интенсив по typescript: th-cam.com/play/PLJpSkcgOK72Ci351HDS-RcLvH7YGGucbQ.html

    • @bjol_Dg
      @bjol_Dg ปีที่แล้ว +1

      @@webelart интенсив - маловато)) TS на сегодня ну прям очень полон инфы. А вообще, не смотря на то, что "живём сегодня в 21-м веке", до сих пор не везде используют TS с React. Поэтому было бы неплохо накидать свежих новичковых проектов просто на React + JS. Сколько ищу инете - не могу найти интересные идеи, у всех одна банальщина: тудушки, лендинги, и т.п. Блин, вы же сеньорные ребята ! у вас, сеньоров, фантазии-то должно быть по-больше ! А-то бедные работодатели уже зеленеют при виде лендингов и туду-листов )))

    • @artemivanov5013
      @artemivanov5013 ปีที่แล้ว

      @@webelart Спасибо!

    • @romanmed9035
      @romanmed9035 ปีที่แล้ว

      @@bjol_Dg а что мешает сделать интернет-магазин? заодно и продать можно будет. и видео об этом имеются и логики не мало.

  • @romanmed9035
    @romanmed9035 ปีที่แล้ว

    все же не понял как работает

    • @webelart
      @webelart  ปีที่แล้ว

      в браузере?

    • @romanmed9035
      @romanmed9035 ปีที่แล้ว

      @@webelart да. ведь браузер не умеет преобразовывать тс, он только джиэс понимает в который тс преобразовывается при сборке.

    • @webelart
      @webelart  ปีที่แล้ว

      @@romanmed9035 Я тоже про это думала, но не углублялась.

    • @romanmed9035
      @romanmed9035 ปีที่แล้ว

      @@webelart но получается что Вы показали конструкцию работоспособность которой вызывает сомнения.

  • @vatasi7312
    @vatasi7312 ปีที่แล้ว

    Спасибо за контент, но смотрится очень тяжело.

    • @webelart
      @webelart  ปีที่แล้ว

      почему?

    • @vatasi7312
      @vatasi7312 ปีที่แล้ว

      @@webelart я когда сформулирую все грамотно напишу 👍

    • @vatasi7312
      @vatasi7312 ปีที่แล้ว

      в общем решил пересмотреть еще раз видео и что бы время не терять поставил 1.25 скорость:D как итог для меня все просто ооочень медленно в нормальной скорости оказалось)

    • @webelart
      @webelart  ปีที่แล้ว

      @@vatasi7312 Т.е. в целом всё хорошо? :)

    • @vatasi7312
      @vatasi7312 ปีที่แล้ว

      @@webelart да

  • @ТимофейМахотин
    @ТимофейМахотин 9 หลายเดือนก่อน

    С волками жить: по-волчьи, выть!
    Почему эту надпись не добавили?

    • @webelart
      @webelart  9 หลายเดือนก่อน

      Потому что я так не думала.

  • @виртуоз_ру
    @виртуоз_ру ปีที่แล้ว +2

    Офигеть. Написала какую-то маленькую галерею, а кода как будто самолёт создавала. Вот он реакт говнище и днище.

    • @webelart
      @webelart  ปีที่แล้ว +1

      Если эта галерея будет включать свайп и еще настройки получится и того больше. В какой-то степени я могу с вами согласиться, даже чтобы растворение картинки написать нужно устраивать пляски между фотографиями, на наивном JS это намного быстрее.

    • @webelart
      @webelart  ปีที่แล้ว

      Думаю, что ещё ответить. Но я не знаю... Поставлю грустный смайлик :(

    • @webelart
      @webelart  ปีที่แล้ว +6

      Кстати а знаете что, кода то не много. Сборка есть - да правда, файлы вокруг создались. Сама выжимка по галерее строк 200-300, если все в файле одном собрать.
      Если сборку создавать на gulp, а она нужна, тоже получится много файлов. Так что вы и одновременно правы и одновременно нет. Я проект задеплоила двумя командами. И да это не index.html + index.css + index.js можно было бы и три файла создать. Однако если проект расширяется, то вы в них умрете со временем. А я как никак коммерческий разработчик крупных проектов. И думаю я хочу создавать на реактив + тайпскрипт + сборка, чтобы люди привыкали к созданию и работе над крупными проектами. Пусть сейчас это и маленькая галерея :)

    • @truedivan
      @truedivan ปีที่แล้ว

      Реакт не используют для галерей это неэффективно
      Реакт использую для крупных SPA приложений, в которых модульность и компонентный подход очень сильно упрощают разработку
      До недавнего времени был почти с аналогичным мнением, но начав использовав React и Typescript понимаешь насколько всё упрощено и унифицированно)
      А типизация typescript тоже очень удобная вещь)
      Когда-то JavaScript тоже называли игрушечным языком, и не особо нужным)

    • @webelart
      @webelart  ปีที่แล้ว +1

      @@truedivan Но галереи то есть на сайте, ни один уважающий себя веб-сайт без галерей не обходится. :)