React-Apollo: вызовы запроса для списка переменных

Учитывая список имен пользователей и следующий запрос к GITHUB API: -

query.gql:
query USER_QUERY($username:String!){
            user(login: $username){
                  name
                repositories(isFork:false){
                totalCount
              }
            }
          }

Я хочу создать composite query для каждого username.

Пример:

Допустим, это список имен пользователей

array usernames=["Sheldon","Leonard","Raj","Holowitz"]

Ожидаемый запрос:

 {
  sheldon:user(login: "sheldon") {
    name
    repositories(isFork: false) {
      totalCount
    }
  }
  leonard:user(login: "leonard") {
    name
    repositories(isFork: false) {
      totalCount
    }
  }
  raj:user(login: "raj") {
    name
    repositories(isFork: false) {
      totalCount
    }
  }
  holowitz:user(login: "holowitz") {
    name
    repositories(isFork: false) {
      totalCount
    }
  }

Есть ли reactive-способ добиться результата?

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
0
343
1

Ответы 1

Для этого нет способа reactive - реагировать не на шаблоны склеенных строк.

Ваш ожидаемый запрос построен неверным способом graphQL. Это может сработать, но вы не должны так думать - когда вам нужен массив - просто попросите массив. Если вам действительно нужна такая структура, сделайте это (преобразование) после обработки «нормального» массива - это вопрос однострочного .filter() fn. Не ждите такого (странного) формата (поведения) от универсального ответа.

Прочтите соответствующие ответы для это и это.

Apollo может пакетировать даже вызовы отдельных запросов.

Запрос верен с манерами graphQL. Пожалуйста, обратитесь к здесь для другого формата запроса. Это сделано для того, чтобы запросы можно было отделить от сценария по файлам .graphql || .gql.

Jon Patrovi 05.10.2018 16:40

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

Jon Patrovi 07.10.2018 08:48

«Это может сработать, но не стоит так думать» - я не писал, что это неправильно - ЯГНИ - не усложняйте простые вещи

xadm 07.10.2018 09:10

Хорошо, поддержано. Как я могу запросить массив, если API просто не предоставляет этого для этого API? Он просто берет одно имя пользователя и ответы с «запрошенными» данными для «одного имени пользователя»

Jon Patrovi 07.10.2018 10:04

Вы должны написать это в заголовке / вопросе раньше. Не твое API? Вы читали о дозирование? Просто отобразите список элементов, каждый с собственным запросом - он должен работать без дополнительных усилий, если сервер поддерживает пакетную обработку - если не задать новый, более подробный вопрос.

xadm 07.10.2018 10:32

изменения, внесенные в вопрос

Jon Patrovi 07.10.2018 14:34

Это ничего не меняет;) [API ограничен в бесплатной версии] - используйте отдельный пользовательский компонент (каждый со своим запросом) для рендеринга своих репозиториев (или для сохранения в массиве). Поиск странного обходного пути не стоит усилий.

xadm 08.10.2018 12:34

отсутствует ссылка

xadm 08.10.2018 12:44

Другие вопросы по теме

Похожие вопросы

Правильный способ отключить слушателей firebase?
Как добиться, чтобы две переменные всегда равнялись постоянному соотношению?
Как я могу проверить, пусто ли поле ввода или нет, когда переменная вставляется в это поле с помощью jquery?
Реагировать - 'отклонить' не определено
Как сделать так, чтобы стимул (изображение, div, в зависимости от того, что проще) появлялся в правой или левой половине экрана случайным образом, используя javascript
Перезагрузить обработчик событий JQuery .on
Вызов функции в цикле, содержащем вызов функции, содержащей обещание, не выполняется все необходимое время
ЗДЕСЬ Карта Api отображает только небольшую часть реальной карты и не является интерактивной
Как мне сделать расширенную логику фильтра, используя фильтр поиска и фильтр флажков в javascript?
Как перейти к вертикальному центру целевых разделов html с помощью JavaScript?