Как обновить данные graphql для сборки gatsby? - PullRequest
0 голосов
/ 10 апреля 2020

У меня есть приложение React на тему gatsby-theme, которое использует gatsby-source-graphql для извлечения данных из моего внутреннего приложения. Я установил refetchInterval: 20 в моем файле gatsby-config.js. Мой gastby-config.js файл выглядит так:

module.exports = {
  siteMetadata: {
    title: 'Gatsby Theme Mytheme',
    ...
  },
  pathPrefix: `/gtm`,
  plugins: [
    {
      ...
      ...
    {
      resolve: `gatsby-source-graphql`,
      options: {
        fieldName: `cms`,
        url: `http://127.0.0.1:7000/api/graphiql`,
        typeName: `CMSData`,
        refetchInterval: 20,
      },
    },
    `gatsby-plugin-sharp`,
    `gatsby-transformer-sharp`,
  ],
};

Когда я запускаю приложение в режиме разработки (gatsby develop), я вижу (console.log) изменения, внесенные в серверную часть Приложение CMS через 20 секунд. Но изменения не могут видеть / отображать на сборке (сборка gatsby). Поэтому после сборки все, что я изменяю в резервной копии, не отражается в моем клиентском приложении. Итак, как я могу динамически получить изменения из внутреннего приложения для моей сборки gatsby?

Компонент, который я использую для получения внутренних данных GraphQL, задается как

import { useStaticQuery, graphql } from "gatsby";

export function myComponent() {
  const cmsMenu = useStaticQuery(graphql`
    {
      cms {
        allMenus {
          edges {
            node {
              menuName
            }
          }
        }
      }
    }
  `)
  console.log("CMS menu from MenuProvider", cmsMenu); 
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...