Какова цель значений по умолчанию в Apollo Link State? - PullRequest
0 голосов
/ 30 сентября 2018

Зачем это делать:

const clientState = {
  defaults: {
    networkStatus: {
      __typename: 'NetworkStatus',
      id: 1,
      isConnected: false,
    },
  },
  resolvers: {},
};

По сравнению с этим:

const clientState = {
  resolvers: {
    Query: {
      networkStatus: () => ({
        __typename: 'NetworkStatus',
        id: 1,
        isConnected: false,
      }),
    },
  },
};

Преимущества последнего подхода, которые я вижу:

  • Это больше похоже на написание распознавателей на сервере
  • Он поддерживает асинхронность, просто возвращая обещание
  • Он действует по умолчанию, потому что, насколько я понимаю, распознаватель вызывается только при отсутствии кэша.

Я не вижу никаких преимуществ в использовании прежнего defaults API, но я уверен, что есть причина, иначе его бы не было?

...