Я создал тип internalLink, следуя документации по работоспособности, и в соответствии с примечанием об использовании internalLinks с 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
]
}
]
}
Я добавил schema.js следующим образом:
import internalLink from './internalLink'
export default createSchema({
name: 'default',
types: schemaTypes.concat([
internalLink,
helpTopic,
blockContent,
figure,
slideshow,
])
})
и добавил его в аннотации следующим образом:
annotations: [
{
type: 'internalLink'
}
]
Когда я использую graphiql в Gatsby, если я не использую resolveReferences, я правильно получаю неразрешенные ссылки:
"markDefs": [
{
"_key": "00a07e239d3d",
"_type": "internalLink",
"reference": {
"_ref": "7c635eee-0d98-5335-a376-4101922ca4b7",
"_type": "reference"
}
}
]
однако, когда я использую _rawBody(resolveReferences:{maxDepth:1000})
, ссылка не разрешается и возвращается как null:
"markDefs": [
{
"_key": "00a07e239d3d",
"_type": "internalLink",
"reference": null
}
]
Это ошибка или я что-то делаю не так? Я пробовал просмотреть документацию, но не могу понять этого, а в примере комбо-проекта gatsby sanity нет примера internalLinks.
Спасибо за помощь заранее.
sanity graphql deploy
каждый раз, когда вы меняете схему. Может быть какое-то несоответствие, которое приведет кnull
. Просто хочу убедиться в этом, прежде чем углубляться в это. - person Anders Stensaas   schedule 19.03.2020sanity graphql deploy
, и я также проверил на игровой площадке, что у него есть ссылочное свойство с правильным идентификатором. Это просто ссылки на разрешение, которые, кажется, выдают мне ошибку. Спасибо за ответ, надеюсь, вы сможете понять, в чем может заключаться ошибка. - person aks94   schedule 19.03.2020[email protected]
и поделитесь с ними своими отзывами, если это важно для вас - person aks94   schedule 05.05.2020