Gatsby graphql с регулярным выражением в качестве переменной - PullRequest
1 голос
/ 24 июня 2019

Я хотел бы использовать регулярное выражение с переменной запроса 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
        }
      }
    }
  }
`;

что не так?

1 Ответ

1 голос
/ 25 июня 2019

Передача регулярного выражения через аргументы запроса должна работать, см. Скриншот ниже.Убедитесь, что вы передаете регулярное выражение в виде строки, а не фактическое регулярное выражение.Кроме того, вам необходимо избежать средней косой черты:

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

Попробуйте это на одном из графиков, встроенных в эту страницу enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...