Здесь нет установленного соглашения. Я видел root
, parent
и obj
, все они используются в разных справочных руководствах. В конце дня вы можете вызывать аргументы вашей функции как хотите - ваш код будет функционировать так же.
Тем не менее, я обычно использую имя типа, в котором поле разрешается частично. Так что для типа, как
type RoomRental {
user: User
date: Date
}
подпись решателя выглядит следующим образом:
user: (roomRental, args, context, info) => {
//
}
Я считаю, что это упрощает рассуждения о том, что делает ваш распознаватель, когда вы (или напарник по команде) читаете код. Опять же, это только мои предпочтения, но вы можете найти, что это помогает сделать ваш код немного более удобочитаемым.
Для завершения я бы также добавил, что GraphQL.js имеет настраиваемое значение root
. Это значение передается в качестве первого аргумента в средствах разрешения полей корневого уровня (то есть полей таких типов, как Query
или Mutation
). Передача вещей через корень не очень полезна - все, что вы могли бы пройти таким образом, должно вместо этого идти в вашем context
. Тем не менее, значение root
является частью реализации, и, возможно, по этой причине во многих примерах в качестве имени для первого аргумента используется root
.