Я пытаюсь отправить мутацию на свой сервер graphql, чтобы обновить дату. Моя схема мутации выглядит так:
mutation CreateReminderMutation(
$birthday: Date
) {
createReminder(
birthday: $birthday
) {
id
}
}
Затем в моем реагирующем компоненте я отправляю дату с помощью moment.
const Calendar = () => {
// component and mutation implementation
birthday: moment(birthday).toDate()
}
Я получаю следующее сообщение об ошибке:
[GraphQL error]: Message: Variable "$birthday" got invalid value "2019-03-15T12:00:00.000Z"; Expected type Date; Value is not a valid Date: 2019-03-15T12:00:00.000Z, unparsable, Location: [object Object], Path: undefined
кто-нибудь может посоветовать, как получить правильный формат Date с моментом отправки в graphql?
ну, toDate кажется именно тем, что вы должны делать, это точно, поскольку toDate возвращает копию собственного объекта Date - странно, что ошибка также указывает, что строка даты не поддается анализу - я имею в виду, что это гарантированная разборчивая строка формат даты
спасибо @JaromandaX, по крайней мере, я не схожу с ума. не могу найти много в документах graphql об этом



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Предполагая, что вы используете пакет graphql-изо-дата, скаляр Date должен быть в формате YYYY-MM-DD. Таким образом, ваша мутация будет выглядеть так:
mutation {
createReminder(birthday: "1990-01-01") {
id
}
}
См. этот codeandbox: https://m5782nj1w9.sse.codesandbox.io/?query=query%20%7B%0A%20%20daysAgo%28when%3A%20%222018-01-01%22%29%0A%7D
Нет решения moment.js, но это работает для меня, используя graphql prisma
new Date().toISOString()
Я использовал new Date().toUTCString() для хасуры, развернутой на героку. Это не сработало для меня new Date().toISOString()
почему за это проголосовали без объяснения причин? Если бы это было очевидным простым решением, я бы его нашел