Size: a a a

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

2020 July 23

NG

Nikita Grishin in GraphQL — русскоговорящее сообщество
Сделай собственный хук для реакта и вынеси всю логику туда. Как вариант
источник

Sergey Фrolov in GraphQL — русскоговорящее сообщество
Pavel @nodkz
Ну мы через несколько минут начинаем обсуждать Стейт Менеджеры. Мы пока разогреваемся.

Там вы кстати узнаете почему Фронтендеры – это бэкендеры, со сдвигом в 40-50 лет, которые смогли начать программировать только в 2000 годах.

Подключайтесь!

https://www.youtube.com/watch?v=cUSyJk6k2rk
В нас тут накладка з BeerJS, подивлюсь вже у запису
источник
2020 July 24

A

Albert in GraphQL — русскоговорящее сообщество
Steve
Привет, в чем особая разница между useQuery и client.query() ?
Лично я почти везде юзаю client.query 😬
UseQuery удобно и реактивно, но всегда будет крэшиться при анмаунте компонента, потому что  никак нельзя отписаться от watch насколько я знаю. Может у кого-то есть решение?
источник

Sergey Фrolov in GraphQL — русскоговорящее сообщество
Albert
Лично я почти везде юзаю client.query 😬
UseQuery удобно и реактивно, но всегда будет крэшиться при анмаунте компонента, потому что  никак нельзя отписаться от watch насколько я знаю. Может у кого-то есть решение?
Отписаться от watch, там вроде нет никакой подписки?
источник

A

Albert in GraphQL — русскоговорящее сообщество
Sergey Фrolov
Отписаться от watch, там вроде нет никакой подписки?
А автоматические refetch как по-вашему происходят?
источник

A

Albert in GraphQL — русскоговорящее сообщество
useQuery использует watchQuery под капотом. И от него фиг отпишешься перед анмаунтом. Поэтому всё ломается :(
источник

Sergey Фrolov in GraphQL — русскоговорящее сообщество
Albert
useQuery использует watchQuery под капотом. И от него фиг отпишешься перед анмаунтом. Поэтому всё ломается :(
Нет, он там как раз не используется. В таких случаях говорят – покажи код
источник

Sergey Фrolov in GraphQL — русскоговорящее сообщество
источник

Sergey Фrolov in GraphQL — русскоговорящее сообщество
Тут это уже не раз обсуждалось
источник

S

Steve in GraphQL — русскоговорящее сообщество
Nikita Grishin
Сделай собственный хук для реакта и вынеси всю логику туда. Как вариант
Я попробовал так, спасибо. Удобно и работает)
источник

TK

Taras Kapusta in GraphQL — русскоговорящее сообщество
Привет Всем!
У кого какое мнение относительно локального стейта в Аполло? Знаю что Павел говорит что не нужно держать локальный стейт в Аполо, тогда вопрос: что делать когда нужно расширить тип который приходит с сервера? Например у меня была такая ситуация, что «бронирование» нужно было отображать на таблице в соответствии с временем бронирования. Место где нужно отобразить один айтем просчитывается локально(само собой ). При это есть необходимость иметь доступ с разных частей программы к позиции по конкретному индентификатору.

Если держать локальный стейт например в Mobx, то как тогда иметь доступ з мобикса к данным из кеша? (Ведь часто нужно)Дублировать данные??? По моему не очень вариант. Поделитесь своим опытом в этом вопросе. Спасибоще)
источник

Sergey Фrolov in GraphQL — русскоговорящее сообщество
Taras Kapusta
Привет Всем!
У кого какое мнение относительно локального стейта в Аполло? Знаю что Павел говорит что не нужно держать локальный стейт в Аполо, тогда вопрос: что делать когда нужно расширить тип который приходит с сервера? Например у меня была такая ситуация, что «бронирование» нужно было отображать на таблице в соответствии с временем бронирования. Место где нужно отобразить один айтем просчитывается локально(само собой ). При это есть необходимость иметь доступ с разных частей программы к позиции по конкретному индентификатору.

Если держать локальный стейт например в Mobx, то как тогда иметь доступ з мобикса к данным из кеша? (Ведь часто нужно)Дублировать данные??? По моему не очень вариант. Поделитесь своим опытом в этом вопросе. Спасибоще)
Тут вопрос только со ui-стейтом. Если там вычисляемые поля, то для этого кеш и нужен, чтобы расширять типы
источник

P@

Pavel @nodkz in GraphQL — русскоговорящее сообщество
Да, я противник такого подхода. Но если по другому проблема никак не решается и нет времени искать другое решение, то конечно можно занести, чтоб бизнес был доволен скоростью решения задачи.

Не все туллинги поддерживают раширение типов на клиенте (чтоб автоподстановка и линтинг работали). Правда в VSCode я настраивал, расширение от аполло работало вроде норм. Даже graphql-codegen подружился.
источник

P@

Pavel @nodkz in GraphQL — русскоговорящее сообщество
Sergey Фrolov
Тут вопрос только со ui-стейтом. Если там вычисляемые поля, то для этого кеш и нужен, чтобы расширять типы
С вычисляемыми полями согласен, если они много где используются. Если в одном мессте, то проще в компоненту это тащить с мемоизацией.
источник

P@

Pavel @nodkz in GraphQL — русскоговорящее сообщество
В любом случае я сторонник того, что запрос можно скопипастить прям из кода в Алтаир или Плейграунд и он выполнился без проблем как есть. С директивой @client без плясок с бубном на сервере - не работает.
источник

P@

Pavel @nodkz in GraphQL — русскоговорящее сообщество
———
Вообще для себя я @client разрешил только в одном случае - мокинг схемы, пока бэкендеры реализовывают функционал.

Но таких случаев у себя не припомню. Т.к. замокать схему на сервере достаточно быстро. И все ребята у меня фуллстэк.
источник

EM

Eugene Maltsev in GraphQL — русскоговорящее сообщество
Pavel @nodkz
———
Вообще для себя я @client разрешил только в одном случае - мокинг схемы, пока бэкендеры реализовывают функционал.

Но таких случаев у себя не припомню. Т.к. замокать схему на сервере достаточно быстро. И все ребята у меня фуллстэк.
А что  используешь для СТМ?:)
источник

P@

Pavel @nodkz in GraphQL — русскоговорящее сообщество
Адресную строку )
источник

P@

Pavel @nodkz in GraphQL — русскоговорящее сообщество
Она все рулит.
А потом в зависимости от страницы уже подгружают для нее необходимые CTM.
источник

P@

Pavel @nodkz in GraphQL — русскоговорящее сообщество
У меня на разных страницах могут быть разные аполло-клиенты. В зависимости от того на какой сервер стучусь.
источник