У меня есть эта мутация в userLogin
import {commitMutation} из'act-relay '; import {graphql} из 'response-relay';
import {userLoginMutation} из './generated/userLoginMutation.graphql' import {Environment} из 'relay-runtime';
const mutation = graphql
mutation userLoginMutation($input: UserLoginInput!) {
userLogin(input: $input) {
clientMutationId,
token
}
}
;
const optimisticResponse = {userLogin: {clientMutationId: '', token: ''}};
const userLogin = (среда: любая , variable: any) => {return commitMutation (среда, {мутация, переменные, optimisticResponse, onCompleted: (res: any) => {// console.log ("Mutation Completed:", res.userLogin.token)
return res
},
onError: (error: any) => console.log("Mutation Error: ", error)
})}
экспорт по умолчанию userLogin;
и я импортирую эту мутацию в userLogin, который представляет собой файл, содержащий форму для сбора данных
моя проблема в том, что когда я вызываю эту мутацию, то записываю, что ответ становится неопределенным, но токен есть в onCompleted commitMutation. я не уверен, что мне следует делать, чтобы данные возвращались в ответ, как показано ниже
const response = await userLogin(createRelayEnv(), {
input: {
"email": "sindiso@gmail.com",
"password": "123456789"
},
})
console.log('token ', response);