Вроде вот такой вариант канает: В аполло-сервер передаем uploads: false (стобы отключить старую версию graphql-upload, включенную в него), и добавляем мидлвару
Дима, привет! Сорри за долгий ответ, я в дороге. Хуки нельзя вызывать асинхронно, они выполняются как есть. Смотри комментарий выше, я писал что надо задействовать. Суть в том, чтобы выполнить не хук, а именно аполло-запрос асинхронно, в специальном методе. Тогда этот результат попадает в кеш аполло и в основном рендерере даныне берутся из кеша, а потом выводятся сразу же при первом рендерере.
Николай, привет! Ошибки исправил - https://github.com/Pivkarta/pivkarta.ru-2/commit/7dba33eccf59615e6cf706fd478ddbc64ee64aff А вот с ассинхронным выполнением вопрос: смотрю пример, читаю учебник, но как использовать - не складывается. Вроде как нажо этот хук вызвать ассинхронно или совсем не туда?
У нас в бд есть параметры с "_", на что и ругается IDE. А как к place_id обратиться правильно? Я тебе не про эслинт CamelCase. У тебя на то игнор добавлен. А именно про Type error: Type 'string | number' is not assignable to type 'Maybe<number> | undefined'. Ты внимательней смотри ошибки. То есть это типовая ошибка, а не стилистическая.
В который раз задаю вопрос: ты разве в IDE своей не видишь ошибки? У тебя и тесты на гитхабе ошибку выдают Ошибку с place_id вижу и понимаю, но оставил, так как сталкиваюсь не первый раз, а как правильно решите - не знаю. У нас в бд есть параметры с "_", на что и ругается IDE. А как к place_id обратиться правильно? По остальному - спасибо, изучаю)
Вообще ты вот здесь кашу нагородил: Зачем тебе вот эта проверка? placeid && typeof placeid === 'number' ? placeid : '' Во-первых, у тебя на вход функции прописано (placeid: number), то есть на вход у тебя всегда number будет заходить (если и не будет, то только из-за ошибки где-то на стороне и там как раз будет ТС-ошибка). Тип уже задан, тебе не надо его проверять. Во-вторых, в случае Иначе ты возвращаешь '', то есть пустую строку. В итоге ты number сам же превращаешь в number | string. И вот зачем?
Ну а по самому исполнению: выключи в браузере JS и обнови страницу. Обрати внимание, что в странице с сервера нет данных компании. Это потому что аполло-хуки синхронные, а реакт - асинхронный. Тебе надо прописать получение данных компании асинхронно еще на стороне сервера, чтобы в коде страницы был кеш компании и данные ее были при рендеринге получены асинхронно из кеша. Тогда у тебя данные компании будут сразу, а на стороне фронта не будетвыполняться лишнего АПИ-запроса для получения их. Делается это в методе getInitialProps. Смотри пример.