hmu332233 / tips

https://tips.minung.dev
1 stars 0 forks source link

gatsby graphql 데이터 추가하는 방법 #17

Closed hmu332233 closed 2 years ago

hmu332233 commented 3 years ago

gatsby에서 gatsby-node.js파일에서 exports.sourceNodes 내의 actions.createNode() 함수를 통해 query를 통해 사용할 수 있는 데이터를 추가할 수 있다.

const STORES = [
  { name: '식당1', value: 0 },
  { name: '식당2', value: 1 },
];

exports.sourceNodes = ({ actions, createNodeId, createContentDigest }) => {
  const { createNode } = actions

  STORES.forEach(store => {
    createNode({
      id: createNodeId(`store-${store.value}`),
      name: store.name,
      value: store,value,
      internal: {
        type: 'Store',
        contentDigest: createContentDigest(store)
      },
    })
  })
}

그러면 아래와 같은 쿼리로 접근이 가능해진다.

query StoreQuery {
  allStore {
    nodes {
      name
      id
    }
  }
}

https://www.gatsbyjs.com/docs/recipes/sourcing-data/#adding-data-to-graphql