使用时刻向graphql发送日期

pet*_*gan 7 javascript momentjs reactjs graphql

我正在尝试向我的 graphql 服务器发送突变以更新日期。我的突变模式如下所示:

mutation CreateReminderMutation(
    $birthday: Date
) {
    createReminder(
        birthday: $birthday
    ) {
        id
    }
}
Run Code Online (Sandbox Code Playgroud)

然后在我的反应组件中,我使用moment.

const Calendar = () => {
   // component and mutation implementation
   birthday: moment(birthday).toDate()
}
Run Code Online (Sandbox Code Playgroud)

我收到以下错误消息:

[GraphQL 错误]:消息:变量“$birthday”得到无效值“2019-03-15T12:00:00.000Z”;预期类型日期;值不是有效日期:2019-03-15T12:00:00.000Z,无法解析,位置:[object Object],路径:未定义

谁能建议如何Date在发送到graphql的同时获得正确的格式?

Wic*_*ams 10

假设您使用的是graphql-iso-date包,Date标量需要采用该YYYY-MM-DD格式。所以你的突变会是这样的:

mutation {
  createReminder(birthday: "1990-01-01") {
    id
  }
}
Run Code Online (Sandbox Code Playgroud)

请参阅此代码和框:https ://m5782nj1w9.sse.codesandbox.io/ ? query = query%20%7B%0A%20%20daysAgo%28when%3A%20%222018-01-01%22%29%0A%7D