首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >以正则表达式为变量的Gatsby graphql

以正则表达式为变量的Gatsby graphql
EN

Stack Overflow用户
提问于 2019-06-25 04:52:58
回答 1查看 4.6K关注 0票数 2

我想使用正则表达式与graphql查询变量。

这不会返回结果:

代码语言:javascript
复制
export const query = graphql`
  query(
    $episodes: String!
    ) {
    episodes: allMarkdownRemark(
      filter: { fields: { slug: { regex: $episodes } } }
    ) {
      edges {
        node {
          id
        }
      }
    }
  }
`;

然而,这是可行的:

代码语言:javascript
复制
export const query = graphql`
  query() {
    episodes: allMarkdownRemark(
      filter: { fields: { slug: { regex: "/episodes/travel/" } } }
    ) {
      edges {
        node {
          id
        }
      }
    }
  }
`;

怎么了?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-06-25 10:14:13

通过查询参数传递正则表达式应该有效,请参见下面的屏幕截图。确保将正则表达式作为字符串传递,而不是实际的正则表达式。此外,您还需要转义中间的斜杠:

代码语言:javascript
复制
    context: {
-     episodes: /episodes\/traveller/             <-- doesn't work
+     episodes: /episodes\/traveller/.toString()  <-- works
or    episodes: "/episodes\\/traveller/"          <-- also works
    }

this page中嵌入的一个graphiQL中试用它

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56743804

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档