У меня проблемы, когда мутация не отправляет ни одного аргумента. Моя мутация кажется правильной, поскольку ошибка, которую я получаю от сервера, заключается в том, что он не находит пользователя, а не имеет проблемы с синтаксисом, например 400.
export const LOGIN = gql`
mutation signIn($email: String!, $password: String!){
signIn(login: $email, password: $password) {
token
}
}
`;
Я подтвердил, что переменные верны в локальном состоянии. Я также подтвердил, что отправка учетных данных через Apollo DevTools возвращает правильный токен. Вот соответствующий бит мутации.
<Mutation
mutation={LOGIN}
variables={{
email: state.auth.email,
password: state.auth.password
}}
onError={(e) => {
console.log(state.auth); // to confirm the state data is correct
console.log(e);
}}
update={(store, { data }) => {
dispatch({
type: 'login',
value: data.token
})
}}
>
В этот момент я в замешательстве и разочарован. Любая помощь приветствуется.
РЕДАКТИРОВАТЬ - это кажется страннее, чем я ожидал. Если я жестко закодирую значения в аргументе переменной мутации, он будет работать правильно.
variables={{
email: "some-valid-email@website.com",
password: "some-valid-password"
}}
И все же, когда я передаю данные из состояния, которое происходит через useContext, они ломаются.
const context = React.useContext(AppContext);
console.log(context.auth.email, context.auth.password); // logs the same valid email and password