未处理的拒绝(错误):期望不可为空的变量的值:类型的时间:时间!在变量值中

Posted

技术标签:

【中文标题】未处理的拒绝(错误):期望不可为空的变量的值:类型的时间:时间!在变量值中【英文标题】:Unhandled Rejection (Error): expecting a value for non-nullable variable: stime of type: time! in variableValues 【发布时间】:2021-02-13 14:38:06 【问题描述】:

我在代码中遇到了这个错误。你能帮帮我吗?这是我的代码。 我的变种

const ADD_SCHEDULE = gql`
  mutation MyMutation($date:date!,$etime:time!  ,$stime:time!,$title:String!) 
    MyMutation(date: $date, etime: $etime, stime: $stime, title: $title) 
      affected_rows
    
  
`;

用于创建计划的创建函数。

const Create = () => 

    let date,title,stime,etime;
      const[createschedule] = useMutation(ADD_SCHEDULE);
       
       return (
         <div>
        <form 
        onSubmit = (e)=>
            e.preventDefault();
            createschedule(variables:title:title.value, date:date.value ,stime:stime.value,etime:etime.value);
          >
        
          <TextField id="title"   ref=value => title=value  label="Title" />
       
        
          <TextField
            id="date"
            defaultValue="2017-05-24"
            label="Date"
            type="date"
            ref=value => date=value
             
            InputLabelProps=
              shrink: true,
            
          />
        
        
          <TextField
            id="stime"
          
            label="STime"
            ref=value => stime=value
            type="time"
            defaultValue="07:30"
           
            InputLabelProps=
              shrink: true,
            
            inputProps=
              step: 300, // 5 min
            
          />
        
          <TextField
            id="etime"
           
            label="ETitle"
            type="time"
            ref=value => etime=value
            defaultValue="07:30"
           
            InputLabelProps=
              shrink: true,
            
            inputProps=
              step: 300,
            
          />
      <button type="submit">Create</button>
      
    </form>
        
    </div>
        );
        
        
    
    
    export default Create

【问题讨论】:

【参考方案1】:

单独的问题

使用 graphiql/playground(当然还有查询变量)测试 API 来检查所需的 arg/变量格式(用于自定义日期/类型类型/标量)

...然后检查您的客户端(react 应用程序)是否以所需格式发送变量...探索浏览器开发工具网络请求正文 - 将其与 Playground 进行详细比较

【讨论】:

以上是关于未处理的拒绝(错误):期望不可为空的变量的值:类型的时间:时间!在变量值中的主要内容,如果未能解决你的问题,请参考以下文章

错误:使用 Graphql 在 Spring Boot 中不可为空的类型是“ID”

C# 8 中的不可为空的引用类型在运行时可以为空吗?

错误无法为不可为空的类型返回 null:父 MyModelType 中的“字符串”(/createMyModelType/id)

未处理的拒绝(错误):帖子不能为空

使用默认值添加不可为空的列时的 Oracle 错误

在 Typescript 中处理嵌套的可能为空的值