Graphql на стороне клиента FaunaDB с gatsby js не выполняет повторную визуализацию, если страница не обновлена

Я использовал этот учебник https://css-tricks.com/build-a-dynamic-jamstack-app-with-gatsbyjs-and-faunadb/ в качестве руководства по обновлению динамического содержимого с помощью faunadb и gatsbyjs. Сейчас у меня все работает в определенной степени. Проблема, с которой я сталкиваюсь, заключается в том, что если я обновляю базу данных вручную или, в конечном итоге, в лямбда-функции, я хочу, чтобы запрос graphql вызывал изменение состояния и повторную визуализацию в ответ. Что происходит, я вижу новые данные только при обновлении страницы. Согласно этой статье, предполагается, что это гидратация на стороне клиента, но я не получаю желаемого эффекта при изменении БД.

Любая помощь будет принята с благодарностью

Вот моя страница гэтсби

import React, { useState } from 'react';
import Layout from "../components/layout"
import { gql } from "apollo-boost"
import { useQuery } from "@apollo/react-hooks"
import { graphql } from "gatsby"


const HIT_COUNTER = gql`
  query HitCounter{
      findHitCounterByID(id: "0248392") {
        amount
      }
  }
`

const IndexPage = () => {
  const { loading, data } = useQuery(HIT_COUNTER);

  return (
    <Layout>

        {data.findHitCounterByID.amount}

    </Layout>
  )

}

export default IndexPage

В gatsbybrowser.js я делаю следующее

import React from "react"
import ApolloClient from "apollo-boost"
import { ApolloProvider } from "react-apollo"

const client = new ApolloClient({
  uri: "https://graphql.fauna.com/graphql",
  request: operation => {
    operation.setContext({
      headers: {
        Authorization: `Bearer ${process.env.GATSBY_FAUNA_DB}`,
      },
    })
  },
})

export const wrapRootElement = ({ element }) => (
  <ApolloProvider client={client}>{element}</ApolloProvider>
)

person Anders Kitson    schedule 30.04.2020    source источник
comment
гидратация заполняет предварительно визуализированное представление обновленными / текущими (во время визуализации) данными - это не подписка / опрос, он не будет обновлять / отслеживать / реагировать / что-то еще на внешние изменения   -  person xadm    schedule 30.04.2020
comment
Хорошо, так что в основном то, что я хочу, невозможно с Гэтсби   -  person Anders Kitson    schedule 30.04.2020
comment
это не про Гэтсби (вы можете использовать его как оптимизацию приложения для реагирования) - вам нужно использовать подписки на graphql   -  person xadm    schedule 30.04.2020
comment
хорошо, я поищу в Google подписки на graphql.   -  person Anders Kitson    schedule 30.04.2020
comment
к сожалению, faunadb не поддерживает подписки, но сейчас я использую локальное хранилище в связке, вроде как он работает, подробнее здесь stackoverflow.com/questions/61527973/   -  person Anders Kitson    schedule 30.04.2020