Ответы пользователя по тегу React
  • Как в WebStorm отлаживать связку Node.js бэкенд и React фроненд как единое целое?

    Robur
    @Robur
    Знаю больше чем это необходимо
    Фронт отлаживаете в девтулзах в браузере, бек запускаете напрямую из вебшторма через дебаг скрипта nodejs, и отлаживайте в IDE.

    Если хочется и то и то в вебшторме, то фронт тоже можно запустить вместе с беком и отлаживать в IDE а не в браузере (запускаете два процесса для дебага в вебшторме кроме одного) но это на любителя, мне не нравится и поэтому конкретный конфиг не подскажу. Можно нагуглить.
    Ответ написан
    Комментировать
  • Как подружить React и Бэкенд часть на Node.js?

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

    нет такой ошибки "никакого ответа"
    Либо запрос идет не туда, либо сервер не запускается.

    никакой сложности тут вообще нет - включаете на сервере в ноде cors, и запускаете реакт и сервер на каких угодно портах.
    То что у вас что-то не работает, значит только что вы сделали что-то не так.

    проверьте что сервер запускается и доступен на 3000 порту для начала, хотя бы curl или postman, или просто в браузере откройте этот url.
    Ответ написан
    Комментировать
  • Варианты стилизации крупного React-приложения?

    Robur
    @Robur
    Знаю больше чем это необходимо
    Разбейте стили так чтобы в одном файле были стили для одного компонента.
    Включите css - модули, уберете 99% проблем.
    дальше
    import styles from './mybutton.module.scss'
    ...
    <div className={styles.title}>
    ...


    Общие стили вынесите в переменные и миксины.
    стилизацию дочерних компонентов из родителя можно делать либо прокидыванием класса из пропсов,
    либо путем добавления отдельных пропсов, например <button outlined/>
    в общем виде второй путь предпочтителен, если у вас много где родитель навешивает явные стили на дочерние компоненты - то тут определенно что-то не так в структуре стилей.

    styled-components для мобилок норм, для веба мне лично не нравятся, лишний код.
    Ответ написан
    3 комментария
  • Как работать с React Bootsrap and Typescript?

    Robur
    @Robur
    Знаю больше чем это необходимо
    "export type" это новая фича в тайпскрипте, поддерживается по моему с 4-й версии, обновите тайпскрипт
    Ответ написан
    Комментировать
  • Как засекьюрить код API запросов в React?

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

    Только один способ - клиент не должен знать этот ключ. как только ключ попадает в код клиентского приложения - считайте его у вас уже украли.
    поэтому делаете свой сервер, там хранится ключ, а на свой сервер делаете авторизацию как угодно (пароль, гугл, смс, что хотите)
    Ответ написан
    Комментировать
  • Как лучше получать props'ы в компоненты React?

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

    Я сразу использую деструктуризацию и считаю это очень удобной вещью

    Продолжайте, это нормально.
    Ответ написан
    1 комментарий
  • Где хранять токены React js + Rest api php?

    Robur
    @Robur
    Знаю больше чем это необходимо
    fetch won’t send cookies, unless you set the credentials init option. (

    используйте параметр credentials и fetch будет отправлять куки какие там у вас стоят.
    https://developer.mozilla.org/en-US/docs/Web/API/W...
    Ответ написан
    Комментировать
  • Передача параметров из глобального state в локальный и обратно?

    Robur
    @Robur
    Знаю больше чем это необходимо
    не надо одно и то же хранить в разных местах и "прокидывать стейт из Parent в Child"

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

    ну или как уже сказали - контекст, если этот стейт нужен много где .
    Ответ написан
    Комментировать
  • Как работает upload Ant Design?

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

    "не могу разобраться как" это так себе описание проблемы. покажите как вы делаете для начала и что именно не работает.
    Ответ написан
    Комментировать
  • На React нельзя делать конкурентов Facebook?

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

    Так что теперь - можно.
    А раньше - тоже было можно но пока фейсбук не против.
    Ответ написан
    Комментировать
  • Как реализовать админ панель в react?

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

    Читал про monorepo но не до конца понял есть ли там возможность связи между проектами.


    Есть. Еще почитайте про yarn workspaces.

    делаете при модуля - аппа, админка, общий код
    yarn сделает симлинки в node_modules друг на друга.

    дальше код из любого модуля можно подключать в любом другом простым import,
    например если у вас модуль с общим кодом называется "@hamsterhomka/common-ui" то и в админке и в аппе можно написать "import MyButton from '@hamsterhomka/common-ui/src/button'"

    есть еще lerna если функционала yarn не хватит
    Ответ написан
    Комментировать
  • Как удалить React со страницы?

    Robur
    @Robur
    Знаю больше чем это необходимо
    Сбросить "сам реакт" - на рут-компонент повесьте id и меняйте его на новый при смене страницы. Он размонтируется и примонтируется снова. А дальше детали уже зависят от того что у вас там понакручено. Стейт он не только в компонентах хранится.
    Ответ написан
    Комментировать
  • Как заменить паровоз if?

    Robur
    @Robur
    Знаю больше чем это необходимо
    onQuestionDelete(addinId || ticketId || id, addinId || ticketId ? id : undefined)

    но я бы поменял сигнатуру onQuestionDelete чтобы было
    onQuestionDelete(id, addinId || ticketId)
    Ответ написан
    Комментировать
  • Вывести данные из json фала?

    Robur
    @Robur
    Знаю больше чем это необходимо
    fetch делает http запрос на ваш сервер. Чтобы он работал, надо чтобы ваш сервер отдавал этот файл по запрошенному url. файл загружается уже после того как приложение начинает работу в браузере.
    Судя по вопросу, для вас это темный лес, почитайте, разберитесь.

    Чтобы импортировать, надо чтобы файл был доступен на этапе сборки. тогда вместо fetch вы пишете import. Тогда данные из файла доступны в приложении сразу и включаются прямо в код приложения.
    Чтобы это работало, у вас должна быть настроена система сборки и работать импорты json файлов.
    Ответ написан
    Комментировать
  • React как исправить? Uncaught SyntaxError: Unexpected token?

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

    тыча пальцем в небо скажу что у вас при запросе .js файлов сервер вместо этого отдает html. проверьте и если так - разбирайтес с его конфигом.
    Ответ написан
    Комментировать
  • Как реализовать восстановление подключения к WebSocket в React приложении?

    Robur
    @Robur
    Знаю больше чем это необходимо
    if (event.wasClean === false) webSocket.current = new WebSocket("ws://url");


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

    надо заново присвоить onmessage (и onclose, иначе если соединение упадет еще раз, то уже ничего не произойдет)
    Ответ написан
    2 комментария
  • Каким образом проходит авторизация через соц. сети на сайте React и Express?

    Robur
    @Robur
    Знаю больше чем это необходимо
    не знаю насчет vk. но "соцсети" используют oauth в той или иной степени.

    Схема с oauth чаще всего такая:
    3. после этого меня перекидывает на мое приложение (которое на react), которое получает токен из урл-параметров и сохраняет в локал сторадже
    4. мое приложение(react) идет на сервер(express) с этим токеном чтобы зарегистрировать пользователя.
    5. сервер проверяет токен на валидность (запрашивая соцсеть или еще как-то) и если все ок - создает пользователя/сессию/делает что угодно.
    Ответ написан
    Комментировать
  • Как добавить react-компонент на существующий сайт?

    Robur
    @Robur
    Знаю больше чем это необходимо
    тут говорят что import нельзя так использовать: https://github.com/babel/babel-standalone/issues/71
    надо по нормальному собирать бандл вебпаком.

    как вариант, можно попробовать поменять настройки бабеля чтобы он генерил не commonjs модуль(это настройка babel-standalone по умолчанию) а es-module, тогда есть шанс что type="module" заработает.
    Ответ написан
    Комментировать
  • React. Я перехожу в корзину а когда возвращаюсь на главную страницу у меня делается рендер этой страницы, заново загружается товары.Как это выключить?

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