使用矩将日期发送到graphql

时间:2019-03-25 11:36:57

标签: javascript reactjs graphql momentjs

我正在尝试将一个变体发送到我的graphql服务器以更新日期。我的变异模式如下:

mutation CreateReminderMutation(
    $birthday: Date
) {
    createReminder(
        birthday: $birthday
    ) {
        id
    }
}

然后在我的react组件中,我使用moment发送这样的日期。

const Calendar = () => {
   // component and mutation implementation
   birthday: moment(birthday).toDate()
}

我收到以下错误消息:

  

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

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

3 个答案:

答案 0 :(得分:3)

没有moment.js解决方案,但这对我来说可以使用graphql pyramida

new Date().toISOString()

答案 1 :(得分:2)

假设您使用的是graphql-iso-date软件包,则Date标量必须采用YYYY-MM-DD格式。因此,您的变异将是:

mutation {
  createReminder(birthday: "1990-01-01") {
    id
  }
}

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

答案 2 :(得分:0)

我将 new Date().toUTCString() 用于部署在 heroku 上的 hasura。这对我不起作用new Date().toISOString()