Что это за новый синтаксис gql`string` - PullRequest
0 голосов
/ 04 мая 2018
const GET_DOGS = gql`
  {
    dogs {
      id
      breed
    }
  }
`;

Я нашел этот новый синтаксис из здесь .

Можете ли вы объяснить этот синтаксис? Где я могу найти подробности об этом?

Ответы [ 3 ]

0 голосов
/ 04 мая 2018

Это называется литералом шаблона.

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals

Это не только позволяет вам выполнять многострочное форматирование, как в примере выше, но также облегчает смешивание выражений со строковым содержимым.

0 голосов
/ 04 мая 2018

Это называется теговым шаблоном . Шаблонные литералы (`...`) могут иметь префикс с именем функции . После оценки эта функция будет вызвана, и статическая и динамическая части литерала шаблона будут переданы функции. Пример:

function foo(staticParts, dynamicParts) {
  console.log(staticParts, dynamicParts);
}

foo`this is a ${42} test`

Шаблоны с тегами можно использовать для создания специфичных для домена языков , как в этом примере.

В тегированных шаблонах много вопросов , с которыми вы можете узнать больше.

0 голосов
/ 04 мая 2018

Это синтаксис GraphQL. Объект json моделируется между обратными галочками и данными, соответствующими той структуре, которая возвращается из GraphQL.

...