У меня есть простой запрос, который принимает параметр ID, но он не работает. Он говорит: «TypeError: Невозможно прочитать свойство 'taskId' из неопределенного". Поэтому я думаю, что по какой-то причине оно не распознает ключевое слово «this».
Пожалуйста, посмотрите:
Запрос Apollo из компонента внешнего интерфейса:
getCommentsByTask: {
query: GET_COMMENTS_BY_TASK,
variables: {
taskId: this.taskId
},
result({ data }) {
this.getComments = data;
console.log("data", data);
}
}
Определензапрос во внешнем интерфейсе:
query GET_COMMENTS_BY_TASK($taskId: ID!) {
getCommentsByTask(taskId: $taskId) {
id
parentId
ownerId
text
}
}
Резолвер на сервере:
async getCommentsByTask (_, {taskId}, context) {
const userId = getUserId(context)
const user = await User.findById(userId)
if (!user) return
const comments = await Comment.findById(taskId)
return comments
}
Схема:
type Query {
getCommentsByTask(taskId: ID!): [Comment]
}