[英]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.