小编Lin*_*ink的帖子

graphql 标签中不允许使用 GraphQL 字符串插值

我知道关于这个问题有很多问题,但老实说我无法理解任何答案。

我的理解是一切都发生在构建时,我的代码支持这一点。

我想要的是访问一个与我的数据中的字段“slug”同名的文件夹。我在 gatsby-node.js 文件中创建页面。

这是我的代码:

gatsby-node.js

exports.createPages = ({ actions }) => {
    const data = require("./src/data/data.json")
    const { createPage } = actions
    data.forEach(data => {
        createPage({
            path: `/${data.slug}/`,
            component: require.resolve('./src/templates/listing-template.js'),
            context:{data},
        })
    })

  }
Run Code Online (Sandbox Code Playgroud)

我在上下文中发送数据。

现在在我的组件中,我希望在查询中使用该数据来获取该页面的特定文件夹:

列表包含数据,并在过滤器中:{ relativeDirectory: { eq:我想使用它;

我试过: ${listing.slug} 但 graphql 不允许它在 eq 中。

我怎样才能做到这一点?

该查询仅从指定文件夹中获取所有文件

const Listing2 = ({listing}) => {

  const { casape } = useStaticQuery(
    graphql`
      query {
        allFile(
          sort: { fields: name, order: DESC }
          filter: { relativeDirectory: …
Run Code Online (Sandbox Code Playgroud)

javascript ecmascript-6 reactjs graphql

9
推荐指数
0
解决办法
2782
查看次数

Gatsby 从数据中获取具有相对路径的图像文件夹

我正在制作一个 Gatsby 静态网站,但在使用 GraphQL 时遇到了问题。

我正在尝试使用 GraphQL 查询文件夹中的所有图像。我的数据有路径:

"images" : "./relimages/vila-franceza",
"cardimages" : "./relimages/main-page-card-images/vila-franceza.jpg",
Run Code Online (Sandbox Code Playgroud)

获取cardimages图像工作正常。我可以随心所欲地用盖茨比图像来操纵它。

但是当我查询图像(这是一个文件夹)时,我只得到该文件夹​​的路径。

这是我的查询:

query flagquery {
  allDataRoJson {
    edges {
      node {
        images
        cardimages {
          id
          childImageSharp {
            fluid {
              originalImg
            }
          }
        }
      }
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

在我的查询中,图像以字符串形式返回。我怎样才能让它可以通过 graphQL 查询,以获取具有 childImageSharp 属性的图像数组,就像我指定一个图像的情况一样。

这是 GraphiQL 中查询的输出

{
  "data": {
    "allDataRoJson": {
      "edges": [
        {
          "node": {
            "images": "./relimages/vila-franceza",
            "cardimages": {
              "id": "2a1fca39-6192-5e09-b913-43c5bf48966f",
              "childImageSharp": {
                "fluid": {
                  "originalImg": "/static/30337f0e47a254b68d443be671031647/0a89a/vila-franceza.jpg"
                }
              }
            }
          } …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs graphql gatsby

2
推荐指数
1
解决办法
3936
查看次数

标签 统计

graphql ×2

javascript ×2

reactjs ×2

ecmascript-6 ×1

gatsby ×1