Size: a a a

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

2019 September 16

AR

Alexander Rudenko in GraphQL — русскоговорящее сообщество
ivan posokhin
Есть примеры?
У Relay Modern две реализации пагинации) Первая - через Refetch Container(https://medium.com/entria/relay-modern-pagination-using-refetch-container-editing-a07c6b33ae4e), вторая - через Pagination Container(https://www.howtographql.com/react-relay/8-pagination/).
источник

AR

Alexander Rudenko in GraphQL — русскоговорящее сообщество
и есть еще один частный кейс - https://github.com/facebook/relay/issues/1792
источник

ip

ivan posokhin in GraphQL — русскоговорящее сообщество
нет, это наверное не совсем то, мне было интересно как организовано у них управление состоянием через apollo-client, как вот выше парень говорил, что совсем не использует redux и все перевели на graph-ql и аполло и есть возможность стейт хранить в адресной строке, это мне показалось интересным
источник

AR

Alexander Rudenko in GraphQL — русскоговорящее сообщество
ivan posokhin
нет, это наверное не совсем то, мне было интересно как организовано у них управление состоянием через apollo-client, как вот выше парень говорил, что совсем не использует redux и все перевели на graph-ql и аполло и есть возможность стейт хранить в адресной строке, это мне показалось интересным
вот чет с адресной строкой - это какая-то хреновая история. Есть хуки, если про стейт)
источник

AR

Alexander Rudenko in GraphQL — русскоговорящее сообщество
а где был разговор про адресную строку? можно посмотреть реализацию?
источник

ip

ivan posokhin in GraphQL — русскоговорящее сообщество
Alexander Rudenko
вот чет с адресной строкой - это какая-то хреновая история. Есть хуки, если про стейт)
нууу, тогда уж лучше redux, на хуках далеко не уедешь. вот мне и было интересно как они какой-нибудь сложный стейт в адресной строке хранят.
источник

AR

Alexander Rudenko in GraphQL — русскоговорящее сообщество
ivan posokhin
нууу, тогда уж лучше redux, на хуках далеко не уедешь. вот мне и было интересно как они какой-нибудь сложный стейт в адресной строке хранят.
да никак)))) у адресной строки есть ограничения на количество символов))))) туда много не засунешь)))
источник

ip

ivan posokhin in GraphQL — русскоговорящее сообщество
Alexander Rudenko
да никак)))) у адресной строки есть ограничения на количество символов))))) туда много не засунешь)))
~2K символов, ну в принципе
источник

AR

Alexander Rudenko in GraphQL — русскоговорящее сообщество
по поводу редакса - сомнительное решение) Уж лучше тогда MobX или Effector c множественностью сторов, если сложное приложение.
источник

AR

Alexander Rudenko in GraphQL — русскоговорящее сообщество
ivan posokhin
~2K символов, ну в принципе
ну не знаю... а как же SEO и все такое?)))
источник

AR

Alexander Rudenko in GraphQL — русскоговорящее сообщество
и эти 2к у тебя в сложном приложении могуть быстро закончиться) если как временное решение, то может быть
источник

ip

ivan posokhin in GraphQL — русскоговорящее сообщество
Alexander Rudenko
по поводу редакса - сомнительное решение) Уж лучше тогда MobX или Effector c множественностью сторов, если сложное приложение.
не могу ничего сказать насчет них, щас столько стейтменеджеров, что голова идет кругом redux, mobx, effector, apollo, reatom может еще что-то но чем не слышал. и главное каждый следующий лучше всех предыдущих
источник

AR

Alexander Rudenko in GraphQL — русскоговорящее сообщество
и вообще какого рожна служебная инфа должна храниться в адресной строке? Что за решение в стиле 90-х?)))
а если про аполло и стейт, то - https://www.apollographql.com/docs/react/essentials/local-state/
источник

AR

Alexander Rudenko in GraphQL — русскоговорящее сообщество
с релеем все обстоит немного хуже в плане локального стейта для, акцентирую внимание, локальной даты. Но там тож пилят пакет под работу с хуками. или прикручиваешь какой-нить менеджер. А, да, еще в релее есть превосходный механизм подписок, и это на полном серьезе
источник

МТ

Миша Тыршу in GraphQL — русскоговорящее сообщество
Добрый вечер, использую аполо и хуки и получаю ошибку
источник

МТ

Миша Тыршу in GraphQL — русскоговорящее сообщество
Error:(33, 11) TS2488: Type 'MutationFn<ReadNotification, ReadNotificationVariables>' must have a '[Symbol.iterator]()' method that returns an iterator.
источник

МТ

Миша Тыршу in GraphQL — русскоговорящее сообщество
не совсем понимаю что я делаю не так
источник

МТ

Миша Тыршу in GraphQL — русскоговорящее сообщество
const [
       readNotificationMutation,  { loading: mutationLoading, error: mutationError },
   ] = useMutation<ReadNotification, ReadNotificationVariables>(READ_NOTIFICATION,{
       variables:{
           id: id
       }
   });
источник

P@

Pavel @nodkz in GraphQL — русскоговорящее сообщество
Alexander Rudenko
а где был разговор про адресную строку? можно посмотреть реализацию?
Саш, вот этот парень пишет:

https://t.me/graphql_ru/21548
Telegram
Pavel @nodkz in GraphQL — русскоговорящее сообщество
Поддерживаю.

У меня вообще нет нигде Redux. А когда пришел тимлидом и архитектором все заставил переписать, благо немного было.

Так народ там таких чудес натворил скрещивая Redux и ApolloClient, что плакать хотелось.

Когда я объяснил что Редакс нафиг не нужен, и что глобальное состояние надо хранить в адресной строке (чтоб можно было скопировать и отправить ссылку по телеге или почте, открыть и увидеть тот же экран что у тебя) а фетчингом данных с сервира занимается АполлоКлиент. То уже буквально через месяц народ сильно повеселел, выпилив кучу мусорных экшенов и редьюсеров. И стал реально кайфовать. Прям реально несколько раз подходили и благодарили, те кто топил за Редакс.

Резюме: глобальный стейт в адресной строке, а не редаксе. Так как есть ограничение по размеру урла, то народ не засовывает всякий мусор в этот стейт. А с умом уже подходит к выбору параметров.
источник

P@

Pavel @nodkz in GraphQL — русскоговорящее сообщество
Alexander Rudenko
а где был разговор про адресную строку? можно посмотреть реализацию?
И вот чутка дополнений 😜

https://t.me/graphql_ru/21573
источник