Size: a a a

GraphQL — русскоговорящее сообщество

2021 April 04

ДА

Данила Андреев... in GraphQL — русскоговорящее сообщество
Олег Линьков
Вбей в поиске rambler graphql одна из первых статей будет на хабре. Только она 18 года и многое уже упрощено. Но концепция та же
Вот я и подумал, что старовата. Понял, спасибо
источник

АК

Алексей Козин... in GraphQL — русскоговорящее сообщество
Если вы устали от того, что apollo-client ппц какой сложный и непонятный, то:

Рекомендую заценить React Query для React/React native https://react-query.tanstack.com/examples/basic-graphql-request

- В разы проще. По человечески понятно, как сделать пагинацию с токенами или офсетом
- Прикольные фичи: автообновление запросов при фокусе экрана
- Инвалидация кеша по таймеру, “эти данные прутохнут через час, перезапроси фоном”
- Встроены дев тулзы, стэйт можно смотреть прямо в браузере
- https://www.graphql-code-generator.com/ также из схемы может генерить React Query хуки, но без пагинации

- из минусов: кеш не нормализован

На скрине моя обертка вокруг React Query, чтобы его в систему встроить
источник

y

yel' in GraphQL — русскоговорящее сообщество
Олег Линьков
На хабре есть занятная статья от рамблера, как с помощью аполло, они отказались от стейт менеджмента внешних данных. Аполло упрощает многие моменты и порог входа
ага, особенно мерж кэша в typePolicies))
источник

y

yel' in GraphQL — русскоговорящее сообщество
Cvai
Чем мне воспользоваться, если я хочу передавать какое то состояние между компонентами? Что то по типу useSelector из редакса. К примеру, я вернул токен из запроса и хочу сделать диспатч, чтобы другие компоненты отреагировали. Есть что то такое в графКл?
помимо того что озвучили, почитай ещё про makeVar и useReactiveVar
источник

y

yel' in GraphQL — русскоговорящее сообщество
yel'
ага, особенно мерж кэша в typePolicies))
и документация, где вроде дохрена написано, но по сути нихуя
источник

y

yel' in GraphQL — русскоговорящее сообщество
приходится читать километровые issues у них, чтобы решить проблемы, которые они не потрудились даже обозначить в доке
источник

ОЛ

Олег Линьков... in GraphQL — русскоговорящее сообщество
Мне кажется порог входа в клиент максимально низким. Да были проблемы и с кешем, с политикой хранения, даже проблемы с контекстом клиента. Но из самых бесячих проблем, остались только на сервера, вроде бесполезной либы для тестирования, пришлось свое изобретать. Если человек разобрался с редаксом, погуглить и решить проблемы с клиентом - не проблема
источник

y

yel' in GraphQL — русскоговорящее сообщество
порог входа реально супер низкий, да. Но если что-то сложнее, чем запустить квери и вывести данные, то начинается какая-то пляска. Самый сок, когда нужно fetchMore юзать,  пагинация, subscribeToMore. Понятно что само оно не будет всегда мержится, но то как это сейчас происходит нифига не очевидно и сложно.
источник

ОЛ

Олег Линьков... in GraphQL — русскоговорящее сообщество
У меня из последних довольно крупный проект, по навигации и потоковым видео записям, привязанным к гео позиции. Есть проблемы, приходится адаптеры писать, потому как стейт аполло не справляется. Но в остальном, видимо я просто привык
источник

y

yel' in GraphQL — русскоговорящее сообщество
ещё у них просто очень плохо всё с показом ошибок, если ты что-то не так делаешь. Окей, ну нельзя вызвать useSubscription хук два раза, ну скажи мне об этом. Ну поле какое-то не мержится как-то, и что-то не сходится, скажи. Нет, он молчит тупо, просто молчит.
источник

ОЛ

Олег Линьков... in GraphQL — русскоговорящее сообщество
yel'
ещё у них просто очень плохо всё с показом ошибок, если ты что-то не так делаешь. Окей, ну нельзя вызвать useSubscription хук два раза, ну скажи мне об этом. Ну поле какое-то не мержится как-то, и что-то не сходится, скажи. Нет, он молчит тупо, просто молчит.
Ну не, это уже придирка уровня, почему калькулятор рисует Е вместо значения. С любыми другими сокетами будет точно также ведь
источник

y

yel' in GraphQL — русскоговорящее сообщество
да не, причём тут сокеты. Я вот мержу что-то, там не сходится __typename как я понимаю или какие-то данные не полные
источник

y

yel' in GraphQL — русскоговорящее сообщество
он же просто молчит в этом случае
источник

ОЛ

Олег Линьков... in GraphQL — русскоговорящее сообщество
Да, есть такое
источник

y

yel' in GraphQL — русскоговорящее сообщество
ну вот, поэтому и без того сложный мерж в typePolicies превращается в простыню из console.log
источник

y

yel' in GraphQL — русскоговорящее сообщество
ну или я просто тупой. У них там в доке по typePolicies, for лупы повсюду, которые я уже забыл когда в последний раз видел
источник

АК

Алексей Козин... in GraphQL — русскоговорящее сообщество
yel'
ну или я просто тупой. У них там в доке по typePolicies, for лупы повсюду, которые я уже забыл когда в последний раз видел
те не тупой, там плохая дока, все сталкиваются
источник

C

Cvai in GraphQL — русскоговорящее сообщество
yel'
помимо того что озвучили, почитай ещё про makeVar и useReactiveVar
воу воу, норм тема) мне понравилось ☺️
Натыкался уже раньше, хз почему не обратил внимание.
источник

И

Иван in GraphQL — русскоговорящее сообщество
/stat@combot
источник

C

Combot in GraphQL — русскоговорящее сообщество
Total messages: 41046
источник