Я создал тип internalLink, следуя документации sanity, и в соответствии с замечанием по использованию внутренних ссылок с API-интерфейсом graphql я создал его как отдельный тип следующим образом:
export default {
name: 'internalLink',
type: 'object',
title: 'Internal link',
fields: [
{
name: 'reference',
type: 'reference',
title: 'Reference',
to: [
{ type: 'helpTopic' },
// other types you may want to link to
]
}
]
}
Я добавил это схема. js выглядит следующим образом:
import internalLink from './internalLink'
export default createSchema({
name: 'default',
types: schemaTypes.concat([
internalLink,
helpTopic,
blockContent,
figure,
slideshow,
])
})
и добавляется в аннотации следующим образом:
annotations: [
{
type: 'internalLink'
}
]
Когда я использую graphiql в Gatsby, если я не использую resolReferences, то Я получаю неразрешенные ссылки правильно:
"markDefs": [
{
"_key": "00a07e239d3d",
"_type": "internalLink",
"reference": {
"_ref": "7c635eee-0d98-5335-a376-4101922ca4b7",
"_type": "reference"
}
}
]
однако, когда я использую _rawBody(resolveReferences:{maxDepth:1000})
, ссылка не разрешается и возвращается как ноль:
"markDefs": [
{
"_key": "00a07e239d3d",
"_type": "internalLink",
"reference": null
}
]
Это ошибка или что-то не так, что я делаю. Я попытался просмотреть документы, но не могу понять это, и в примере комбинированного проекта gatsby sanity нет примера internalLinks.
Спасибо за помощь заранее.