Ответы пользователя по тегу React
  • Как правильно делпоить на AWS?

    zoonman
    @zoonman
    ⋆⋆⋆⋆⋆
    Переведите ваше приложение под create-react-app.
    Оно автоматом все файлики собирает с хэшами.
    Дальше сделайте дистрибьюцию через CloudFront и после сборки приложения грузите в бакет артефакты сборки (s3 sync). После загрузки вызывайте сброс кэша дистрибьюции CF.
    Чтобы не ломать фронт, полностью пишите код обратно совместимым в пределах нескольких последних деплойментов.
    Продумывайте стратегию развертываний и т.д. Вплоть до форсирования перезагрузки на клиенте по событию с сервера.
    Ответ написан
    Комментировать
  • Объясните, плиз зачем нужен react и vue?

    zoonman
    @zoonman
    ⋆⋆⋆⋆⋆
    Когда-то я писал на PHP. Писал много. Сначала это было месиво из кода на PHP и HTML, потом появились всякие шаблонизаторы, стало чуть чище.
    Проекты росли, кода становилось все больше и хотелось некоторые кусочки переиспользовать. Так я пришел к управлению кодом через Composer.
    На каком-то этапе разработки я столкнулся с тем, что у меня было 2 разных веб-интерфейса делающих одно и то же. Вдобавок нужно было часть данных отдавать в систему логистики. Причем это должно было быть автоматизировано. Тогда я уже знал, что есть такая штука - автоматизированные программные интерфейсы (API).
    Наскоро было что-то написано и оно заработало. По итогу, оба веб-интерфейса и система логистики использовали одни и теже функции. Но поддерживать 2 разных интерфейса было очень геморно. В те времены был jQuery самым главным. Очень сложно было добиться правильного отображения, посколько Javascript код был в перемешку с HTML, часть которого генерировалась из PHP. Возникали ошибки. Данных было много, разных скриптов было много (сотни), части скриптов были копиями друг друга с небольшими отклонениями. По итогу, на решение простых задач вроде редактирования строчки в таблице с обновлением на сервере уходило много времени, дни, иногда даже недели.
    Потом я увидел Mustache.js, это был предок Ангуляра и Реакта. Что-то вроде шаблонизатора, но только на стороне клиента. Работало оно только в одну сторону, отображало данные в HTML, но потом была та же жесть из jQuery.
    Затем я познакомился с Angular1. Идея была простая - пишешь шаблон, подставляешь в него данных. Оно отображается, само! Никаких тебе извращений, найди класс или идентификатор, или еще какая-нибудь ерунда.
    Кодить стало проще. Стало можно создавать библиотеки компонентов и просто редактировать стили. Можно было сделать компонент для ввода и проверки почты, и использовать его сразу во всех проектах и исправлять ошибки в одном месте, а не бегать по сотням скриптов и искать в каждом этот повторяющийся косяк.
    Поначалу я тоже относился к Ангуляру с предубеждением, столько траблов, стоят ли они того. Но как только я стал чаще сталкиваться с задачами, когда мне понадобились разные интерфейсы для отображения одних и тех же данных, это стало сходить на нет.
    Пока вы пилите простые штуки, всякие фреймворки вам не втарахтели. Даже jQuery не нужен. Но иногда начинается жопа, когда одному уже проект не вытащить, ибо охеренеть, как сложно, а еще и делать надо быстро. Поэтому лучше разделиться, кто-то делает бэкенд, кто-то фронт. Так просто удобнее, а общаться через API. Вначале вы вместе просто пишите спецификацию для API, это занимает день или два. А потом вы бомбите месяц в параллель. Причем фишка такого подхода в том, что есть инструменты, которые просто выдают заглушки для кода на фронте. Т.е. если фронт пишется быстрее, то его проще тестить и все такое. Аналогично с бэкендом. Его тоже можно тестить даже если фронт не готов. Причем эти все фишки особенно круты, когда вас не двое, а например 20, да и живете вы по всему миру в разных часовых поясах и т.д.
    Ответ написан
    1 комментарий
  • Разделение прав доступа, express и react?

    zoonman
    @zoonman
    ⋆⋆⋆⋆⋆
    Права нужно проверять везде. На backend в первую очередь. Т.е. админские API должны возвращать 401, когда они вызываются с привелегиями обычного пользователя. Вы можете написать для этого соответствующее middleware.

    До вас уже все придумано

    https://developerhandbook.com/passport.js/passport...
    https://reactrouter.com/web/example/auth-workflow
    Ответ написан
    Комментировать
  • Способы разгрузки React-компонента от излишней бизнес-логики, DI в React?

    zoonman
    @zoonman
    ⋆⋆⋆⋆⋆
    Выделение бизнес-логики в сервис является стандартной практикой. Это не должно вас смущать.
    Кстати, вы можете шарить инстанс модели либо использовать одну модель из другой.
    Вообще код с mobx намного лаконичнее, чем в redux. Вы присмотритесь к нему внимательнее.
    Ответ написан
    Комментировать
  • Как с React получить данные API Marketing?

    zoonman
    @zoonman
    ⋆⋆⋆⋆⋆
    Вам нужна обработка на серверной стороне, т.к. нельзя работать с токенами от Marketing API на стороне клиента.
    Ответ написан
    Комментировать
  • Как разбить значение инпута на 3 части?

    zoonman
    @zoonman
    ⋆⋆⋆⋆⋆
    var names = 'Иванов Иван Иванович';
    
    console.log(names);
    
    var re = /\\s+/;
    var nameList = names.trim().split(re);
    
    console.log(nameList);
    Ответ написан
    Комментировать