Все сервисы Хабра

Сообщество IT-специалистов

Ответы на любые вопросы об IT

Профессиональное развитие в IT

Удаленная работа для IT-специалистов

Облака: ожидание vs реальность
Войти на сайт
  • Все вопросы
  • Все теги
  • Пользователи

Хабр Q&A — вопросы и ответы для IT-специалистов

Получайте ответы на вопросы по любой теме из области IT от специалистов в этой теме.

Узнать больше
другие проекты хабра
  • Хабр
  • Карьера
  • Фриланс
Задать вопрос

twolegs

  • 34
    вклад
  • 0
    вопросов
  • 56
    ответов
  • 43%
    решений
Комментарии
  • Информация
  • Ответы
  • Вопросы
  • Комментарии
  • Подписки
  • Нравится
  • Достижения
  • Не могу понять, почему валиться fetch при запросе?

    twolegs @twolegs
    Leo Mavrin, нужно сначала разобраться, на чьей стороне ошибка.
    Если во вкладке network респонза нет - то надо разобраться почему сервер не отвечает, и уже после этого искать решение на фронте. Если есть респонз и он 200, то значит где-то не резолвится промис.
    Написано 20 нояб. 2020
  • Как правильно выводить в state ответ от сервера react?

    twolegs @twolegs
    Если users и organizations участвуют в рендере, то их тоже нужно в стейт добавить
    Написано 18 нояб. 2020
  • Как не подключать библиотеку и не получить ошибку?

    twolegs @twolegs
    Хм. Не уверен, но тут не обойтись компилятором typescript, необходим какой-нибудь бандлер.
    В вебпаке это делается с помощью external в конфигурации, в роллапе с помощью `globals`.

    Самое простое на мой взгляд - настроить сборку в роллапе, для базового ts-проекта конфиг будет небольшой.
    Написано 18 нояб. 2020
  • Как не подключать библиотеку и не получить ошибку?

    twolegs @twolegs
    Расскажите ваш кейс подробнее, что вы хотите сделать?
    Написано 18 нояб. 2020
  • MacBook Pro 2019 не тянет Photoshop? Или я криворукий?

    twolegs @twolegs
    Евгений Голубев, в about this mac отображаются обе видеокарты, или только интегрированная? Проверьте, что в настройках разрешено переключения графического адаптера.
    Написано 18 нояб. 2020
  • [Socket.io] Как принимать данные с двух сокетов и сравнивать их междку собой?

    twolegs @twolegs
    Не совсем понял, что вопрос не по клиентской части.
    Вполне можно сравнивать в памяти. Действуйте по логике игровых движков: одна игровая сессия - это объект Room. Запуск новой игры - это создание комнаты с определенным внутренним состоянием, пользователи при этом получают ИД созданной комнаты. Действия пользователей изменяют состояние комнаты, которое потом синхронизируется с клиентом. При завершении игры комната уничтожается.
    То есть на стороне клиента достаточно знать ИД комнаты, а серверу необходимо проверять, что пользователь имеет доступ в эту комнату.
    Написано 16 нояб. 2020
  • Как настроить webpack для сборки библиотеки из typescript с поддержкой bebel?

    twolegs @twolegs
    Typescript может транспилироваться в es5, нужно просто указать такой таргет в compilerOptions в tsconfig.json
    Написано 13 нояб. 2020
  • Почему запрос и ответ идет 2 раза с axios?

    twolegs @twolegs
    Прошу прощения, не прочитал последнюю часть. Без кода react-кода сложно сказать. Судя по всему где-то есть лишний апдейт.
    Написано 12 нояб. 2020
  • Почему запрос и ответ идет 2 раза с axios?

    twolegs @twolegs
    Может быть один из запросов OPTIONS, а не GET/POST? Если ваши запросы кроссдоменные, то это нормально.
    Написано 12 нояб. 2020
  • Почему не подключается img через require?

    twolegs @twolegs
    Я так понимаю, вы используете Create React App.
    Здесь, в общем-то, все описано: https://create-react-app.dev/docs/using-the-public...
    Общая рекомендация и философия CRA - ассеты должны находиться рядом с кодом.
    Написано 11 нояб. 2020
  • Почему не подключается img через require?

    twolegs @twolegs
    Да и без словаря это тоже можно делать. Просто импортируете изображение там, где это надо и пробрасывайте куда надо.
    Работайте с этой переменной так, будто это простая строка с путем (фактически это так и есть).
    Написано 11 нояб. 2020
  • Как сократить передачу пропсов в компонент?

    twolegs @twolegs
    Alex Mirgorodskiy, правда такое может показаться неочевидным
    let { three, ...rest } = state,
         item = <Item {...rest} />
    Написано 11 нояб. 2020
  • Как сократить передачу пропсов в компонент?

    twolegs @twolegs
    Или даже
    const OuterComponent = ({...rest }) => (
      <InnerComponent {...rest} />
    );


    Но это я бы рекомендовал делать с типизированным js, чтобы не было неожиданных ошибок.
    Написано 10 нояб. 2020
  • При первичном рендеринге, роутер возвращает undefined, что делать?

    twolegs @twolegs
    Владимир, повторного запроса при этом не приходит?
    useEffect(() => {
     if (id) {
            fetch(`${url}/selectCompany`, {
                method: 'POST',
                headers: {
                    'Content-Type': 'application/json'
                },
                body: JSON.stringify({
                    id: id
                })
            })
            .then(response => response.json())
            .then(result => setCompany(result));
          }
        }, [id, setCompany]


    Могу предложить банальное решение - добавить условие на id. Когда id будет определен, эффект запустится еще раз и уже отправит запрос.
    Написано 10 нояб. 2020
  • При первичном рендеринге, роутер возвращает undefined, что делать?

    twolegs @twolegs
    Владимир, подобное решение проверено на практике не раз.
    Это первое что я сделал, только иначе (просто запихнул вызов в эффект)

    В своем эффекте вы могли не заполнить массив зависимостей либо не использовать стейт для того, чтобы спровоцировать обновление компоненты. Судя по тому, как вы сейчас пишете код с фетчем в теле компонента, вам еще необходимо поработать над теорией эффектов :)

    Еще из возможных вариантов - некорректная работа useRouter (возможно он так же не всегда обновляет компоненту). Какую реализацию useRouter вы используете?
    Написано 10 нояб. 2020
  • Возможно ли запустить router в цикле?

    twolegs @twolegs
    1. Настройте доступные поддомены. Это можно сделать конфигурацией nginx например, либо с помощью пакета vhost средствами ноды express.
    2. Создайте один роутер, который будет доставать поддомен.
    router.get('/', async (req, res) => {
                const key = req.subdomains[0];
                res.render('index', {
                    title: `Subdomian is: ${key}`,
                    ifIndex: true,
                    cities,
                    key
                })
            });
    Написано 10 нояб. 2020
  • Почему поле заполнено, но срабатывает required?

    twolegs @twolegs
    Без js кода, который обрабатывает валидацию, решение будет больше похоже на гадание на кофейной гуще. Причина, вероятно, кроется как раз в js, т.к. валидация кастомная.
    Написано 10 нояб. 2020
  • Как остановить работу функции?

    twolegs @twolegs
    atumbochka, самое простое

    function mapClick(event){
        if (clicks < 10) {
            clicks++;
            var distance = getDistance(event, target);
            var distanceHit = getDistanceHit(distance);
           $("#distance").text(distanceHit);
           if(distance < 8){
              alert("Клад найден! Сделано кликов: "+clicks);
            }
        } else {
            alert('Проиграл')
        }    
    }
    Написано 06 нояб. 2020
  • Как остановить работу функции?

    twolegs @twolegs
    atumbochka, куда вы добавляете это условие? В mapClick?
    Написано 06 нояб. 2020
  • Как правильно перезапустить функцию?

    twolegs @twolegs
    > Она ведь никак не изменяется больше.
    Вот именно. Вы устанавливаете значение 1 и больше не изменяете его. Оно сохраняется в вашем объекте, и после перезапуска игры setTimeout не запускается, т.к. объект считает, что инициализация уже прошла и повторно ее проводить не надо.
    Написано 06 нояб. 2020
  • 1
  • 2
  • 3
  • Следующие →
Самые активные сегодня
  • rPman
    • 10 ответов
    • 0 вопросов
  • Stalker_RED
    Stalker_RED
    • 10 ответов
    • 0 вопросов
  • Born2Lose
    Валерий
    • 7 ответов
    • 0 вопросов
  • DevMan
    DevMan
    • 5 ответов
    • 0 вопросов
  • Jump
    АртемЪ
    • 5 ответов
    • 0 вопросов
  • Dr. Bacon
    • 5 ответов
    • 0 вопросов
  • © Habr
  • О сервисе
  • Обратная связь
  • Блог

Войдите на сайт

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