簡體   English   中英

以正則表達式為變量的 Gatsby graphql

[英]Gatsby graphql with regex as variable

我想將正則表達式與 graphql 查詢變量一起使用。

這不會返回結果:

export const query = graphql`
  query(
    $episodes: String!
    ) {
    episodes: allMarkdownRemark(
      filter: { fields: { slug: { regex: $episodes } } }
    ) {
      edges {
        node {
          id
        }
      }
    }
  }
`;

但是,這會起作用:

export const query = graphql`
  query() {
    episodes: allMarkdownRemark(
      filter: { fields: { slug: { regex: "/episodes/travel/" } } }
    ) {
      edges {
        node {
          id
        }
      }
    }
  }
`;

怎么了?

通過查詢參數傳遞正則表達式應該可以工作,請參見下面的屏幕截圖。 確保您將正則表達式作為字符串傳遞,而不是實際的正則表達式。 此外,您需要轉義中間斜線:

    context: {
-     episodes: /episodes\/traveller/             <-- doesn't work
+     episodes: /episodes\/traveller/.toString()  <-- works
or    episodes: "/episodes\\/traveller/"          <-- also works
    }

此頁面中嵌入的其中一個 graphiQL 中嘗試一下在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM