Ответы пользователя по тегу React
  • Как задействовать декораторы в reactjs mobx?

    Robur
    @Robur
    Знаю больше чем это необходимо
    Смотря какие настройки и версия бабеля, вот например вариант решения:
    https://github.com/mobxjs/mobx/issues/1352
    Ответ написан
    Комментировать
  • Что здесь подкоректировать чтобы в поисковом фильтре можно было второй раз отфильтровать без перезагрузки страницы?

    Robur
    @Robur
    Знаю больше чем это необходимо
    сделайте два массива - оригинальный ( его не трогайте и не меняете )
    и текущий фильрованный - его выводите.
    При смене фильтра из оригинального делаете новый фильтрованный

    А так вы на первом фильтре удалили все остальные данные и все, адьос - их больше нет и взять неоткуда.
    Ответ написан
    3 комментария
  • Стоит ли в 2019 учить mobx?

    Robur
    @Robur
    Знаю больше чем это необходимо
    Да.
    mobx в большинстве случаев лучше чем redux, redux вовремя заехал на волне хайпа.

    Карта не закон, это мнение человека который её нарисовал.

    "необходимости" ни в чем нет - есть возможность и варианты, среди которых можно выбрать то что лучше подходит.
    mobx не имеет отношения к асинхронным запросам, как и redux.
    Но в силу его реактивности с ним можно использовать что угодно- от простого fetch до чего-то навороченного.
    Все что способно поменять значение у поля объекта отлично интегрируется с mobx
    Ответ написан
    Комментировать
  • Когда не использовать vuex | redux | flux?

    Robur
    @Robur
    Знаю больше чем это необходимо
    Посмотрите как работает GraphQL + Apollo client. Особо внимательно про нормализацию и кеширование на клиенте. Там уже люди очень серьезно подумали на проблемами которые вы озвучили (и другими тоже) и много чего хорошего придумали - грех не воспользоватся. Если не самими технологиями то подходами и решениями.
    Ответ написан
    Комментировать
  • После случайного обновления версии firebase. Как исправить?

    Robur
    @Robur
    Знаю больше чем это необходимо
    Верните версию как было.
    Ответ написан
  • Кто поможет с файловой системой React?

    Robur
    @Robur
    Знаю больше чем это необходимо
    В React нет файловой системы, он работает в браузере.

    но как разбивать проект

    как хотите. часто компоненты в отдельнй папке, под другие части системы - тоже свои папки в src.

    На каждый блок (header, aside, content) разбивать по 2 файла js css? Или можно по 1 файлу js css на весь проект?


    на каждый компонент - отдельный файл js и к нему файл css.

    Вообще - возьмите create-react-app и делайте в той структуре которая там есть. Для вас лучший вариант. Когда прокачаетесь - сможете с пониманием сделать по своему.
    Ответ написан
  • Какой стек использовать, React+...?

    Robur
    @Robur
    Знаю больше чем это необходимо
    Раз у вас вообще нет никаких требований - то возьмите что-нибудь веселое, Fortran какой-нибудь, или хотя бы Erlang.
    Ответ написан
    Комментировать
  • Не обновляется компонент после props, почему?

    Robur
    @Robur
    Знаю больше чем это необходимо
    Для начала проверьте срабатывает ли эффект при удалении.
    Ответ написан
  • Как исправить ошибку с event handler и ts?

    Robur
    @Robur
    Знаю больше чем это необходимо
    Почему у вас onClickColorChange в пропсах у Header в файле component.tsx, а передаете это свойство вы в Home из файла pages/home?
    Ответ написан
  • Что из этого является настоящим контейнером в реакт?

    Robur
    @Robur
    Знаю больше чем это необходимо
    Встречаю много формулировок разных видов компонентов и стал немного путаться.


    И будете встречать еще больше. Каждый придумывает свое, "немного более правильное" определение.
    Кому-то контейнер это одно, а кому-то совсем другое, а третий скажет что настоящих контейнеров там вообще нет, потому что настоящие были только в 80-х а потом стали говно какое-то делать.
    главное понимать что конкретный человек который вам это говорит под этим словом понимает. Называйте как хотите - если работаете в команде - то договоритесь что какой термин значит. Если самостоятельно - то все равно.

    Единственное на что стоит ориентироваться - это терминология принятая в официальной документации. Там же и подробно разжевано что все это значит. Контейнеров как отдельного термина там нет, слово используется утилитарно.
    Ответ написан
    Комментировать
  • Как отправить большое видео на апі из react native?

    Robur
    @Robur
    Знаю больше чем это необходимо
    вот тут посмотрите: https://gist.github.com/nandorojo/c641c176a053a9ab...
    Если верить тому что там написано, надо просто путь к файлу передать в xhr. Я не проверял.
    Ответ написан
    Комментировать
  • Законно ли размещение импорта в нижней части компонента React?

    Robur
    @Robur
    Знаю больше чем это необходимо
    Идея так себе.
    во первых - так никто не делает и вы любому человеку кто будет работать с вашим кодом создадите проблем.
    Во вторых - импорты работают там где написаны, если они стоят вначале - то у вас точно все будет нормально в файле. Если они в конце - то результат может быть разным.

    Если у вас проблема только в том что импорты визуально мешают и лень скроллить то используйте фолдинг:
    5d43008d40087534975367.png

    При использовании нормально навигации по коду вы на начало файлов вообще редко будете попадать.

    Я считаю, что первое, что мы хотим увидеть при открытии компонента, - это метод рендеринга.

    Считать можно что угодно, у других людей может быть другое мнение. Если вы работаете один - можете делать как хотите, в команде такие вещи надо как минимум обсуждать.
    Ответ написан
    Комментировать
  • Как избежать использования чрезмерного использования useMemo?

    Robur
    @Robur
    Знаю больше чем это необходимо
    Есть ли предложения, когда следует избегать использования Memo?

    накладные расходы на useMemo - сравнение двух массивов + вызов функции.

    Если то что вы положили в useMemo сложнее этой операции - оно уже даст какой-то выигрыш.
    Думаю сделать такую оценку каких-то трудов не составит.
    Ответ написан
    Комментировать
  • Как правильно обновить state компонента?

    Robur
    @Robur
    Знаю больше чем это необходимо
    И зачем при выполнении setState() делать копию массива users,

    Можете и не делать, если как-то еще дадите реакту знать что стейт поменялся и надо вызывать render.
    Ответ написан
  • Чем реализация Virtual DOM отличается от createDocumentFragment (), если состояние не наблюдается?

    Robur
    @Robur
    Знаю больше чем это необходимо
    Разница в том что VirtualDom делают на JS на супер простых объектах с ограниченным функционалом и это очень быстро по сравнению с настоящим DOM, которые заметно сложнее и заметно медленнее.

    Я хотел бы знать, если у меня нет представления / компонента, который должен наблюдать за каким-либо состоянием или двунаправленной привязкой (например, просто визуализировать шаблон с помощью переданных опций и обрабатывать события в DOM), действительно ли Virtual DOM изменит это сценарии?


    Если ваш результирующий HTML не меняется в процессе работы - то можно и без virtualDom. Но это будет просто статичный HTML файл.

    Если HTML как-то меняется - то подход с virtualDom может оптимизировать эти изменения.

    Даже если у вас нет явного состояния, но в процессе работы вы хоть как-то меняете страницу - значит где-то это состояние есть. И вы меняете html в момент когда это состояние меняется, например

    просто визуализировать шаблон с помощью переданных опций и обрабатывать события в DOM
    Ответ написан
    Комментировать
  • Стоит ли использовать изоморфное приложение в высоконагруженном e-commerce проекте?

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

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

    Ваш подход лучше если:
    1) ваша нагрузка на самом деле превышает то что можно выжать из ангуляра, сделав все грамотно (бандлы, ssr, кеширование, оптимизация зависимостей и так далее)
    2) ваша фронтенд команда достаточно покачана чтобы пилить сложный проект на ванильном JS и выжимать из него больше чем можно выжать из фреймворка (это очень непросто)

    Что можно сделать:
    - определить реальные проблемы
    - определить критерии их решения (скорость, размер, page speed и так далее)
    - определить время за которое команда готова оптимизировать ангулярное приложение до нужных параметров

    Если не сделают - поднять вопрос еще раз, показав свой вариант.

    В любом случае - продавить велосипед будет сложно, есть достаточно серьезные объективные причины почему этого не стоит делать, польза должна заметно превышать минусы и это надо доказать всем.

    Плюс велика вероятность что ваши девелоперы хотят "модно-молодежно" на "современных технологиях" это уже человеческий фактор и он будет самым проблемным.
    Ответ написан
    4 комментария
  • Как запустить метод ребёнка из родителя?

    Robur
    @Robur
    Знаю больше чем это необходимо
    Ответ написан
    Комментировать
  • Как завершить работу компонента React?

    Robur
    @Robur
    Знаю больше чем это необходимо
    размонтировать его, перерендерив родительский компонент без Login.
    Ответ написан
    6 комментариев
  • Настроить scripts build для create react app?

    Robur
    @Robur
    Знаю больше чем это необходимо
    в корневом package.json:
    "build": "cd client; yarn build; cd .."
    Ответ написан
    Комментировать
  • Нужно ли использовать useMemo в hooks?

    Robur
    @Robur
    Знаю больше чем это необходимо