TLDR;В большинстве случаев вы не можете, поэтому добавьте немного избыточности, создав локальное свойство с правильным типом данных.
Основной запрос
Не работает ?
query Foo {
id
bar
baz {
id
}
}
Если вы добавите распознаватель следующим образом:
export default {
Foo: {
bar: ({ bar }) => new BigNumber(bar),
}
}
Это НЕ будет работать.
Базовый запрос с @ client
Работает 101
query Foo {
id
bar
baz {
id
}
qux @client
}
Просто добавив другое свойство, скажем, qux
, которое имеет директиву @client
, вы запустите определитель bar
, определенный выше.
Сложный запрос с фрагментами
Не работает ?
Если переписать запрос следующим образом:
fragment Baz on Foo {
id
}
query Foo {
id
bar
qux @client
...Baz
}
Он больше не будет работать, даже с директивой @client.
Моя окружающая среда:
- apollo-cache-inmemory@^1.6.3
- apollo-client@^2.6.4
- apollo-link-http@ ^ 1.5.16
- graphql@^14.5.8
- graphql-tag@^2.10.1
И я подключался к подграфу блокчейна, размещенному на thegraph.com . YMMV.