Целесообразно ли использовать локальное состояние Apollo для хранения другого представления возвращаемых данных - PullRequest
0 голосов
/ 15 марта 2019

У меня есть клиент Apollo, который я использую для запроса данных из службы.Я хочу использовать данные, которые я получаю в ответ, для создания сети узлов и ссылок, например

// Response data:
{
  "Team": [
    {
      "name": "Example Team",
      "members": [
        { "name": "Bob" },
        { "name": "Alice" }
      ]
    }
  ]
}

// Network data:
{
  "nodes": [
    { "name": "Example Team" }
    { "name": "Bob" },
    { "name": "Alice" }
  ],
  "links": [
    { "source": "Example Team", "target": "Bob" },
    { "source": "Example Team", "target": "Alice" }
  ]
}

Исторически, до использования GraphQL, я бы использовал Redux для хранения ответа munged API в состоянии и чтения из него.там.

Уместно ли взять результат GraphQL от Apollo и сразу же сохранить его обратно в Apollo локальное состояние в другой форме, чтобы его могли запрашивать компоненты в этом формате?

Основная проблема, которую я предвидел, заключается в том, что мне нужно запросить, чтобы проверить, существуют ли данные, которые я хочу, в локальном состоянии, а затем сделать еще один запрос, если их нет.В мире Redux это было бы скрыто внутри моего магазина, который затем отправлял бы запрос к API только в том случае, если у него не было нужных ему данных, которые «чувствуются» намного чище.

...