GraphQLError:语法错误:无法解析意外字符“\u00A0”

Posted

技术标签:

【中文标题】GraphQLError:语法错误:无法解析意外字符“\\u00A0”【英文标题】:GraphQLError: Syntax Error: Cannot parse the unexpected character "\u00A0"GraphQLError:语法错误:无法解析意外字符“\u00A0” 【发布时间】:2019-01-05 20:22:15 【问题描述】:

当我使用 gql(来自“graphql-tag”)进行查询/变异/订阅时出现错误。

有没有人遇到过这个错误并且知道如何解决它? 这是我的代码:

import React from 'react';
import  Mutation  from 'react-apollo';
import MUTATION from './query.js';
import gql from 'graphql-tag';

const ADD_POST_MUTATION = gql`
  mutation addPost($content: String!, $author: String!) 
    addPost(content: $content, author: $author) 
      content
      author
    
  
`;

export default class Tool extends React.Component 
  state = 
    content: '',
    author: localStorage.getItem('user') || ''
  ;

  handleSubmit = (e, mutation) => 
    console.log(mutation);
    e.preventDefault();
    mutation( variables:  content: this.state.content, author: this.state.author )
      .then(res => console.log(res))
      .catch(e => console.log(e));
  

  render() 
    return (
      <Mutation mutation=MUTATION>
        (addPost,  data ) => (
          <div>
            <div>Poster un commentaire</div>
            <form onSubmit=e => this.handleSubmit(e, addPost)>
              <textarea onChange=e => this.setState( content: e.target.value )></textarea>
              <button type='submit'>Poster</button>
            </form>
          </div>
        )
      </Mutation>
    );
  
;

此查询再次出现错误:

const FETCH_POST_QUERY = gql`
  query 
    getPost 
      id
      content
      author
    
  
`;

我得到了这个错误:

【问题讨论】:

根据 SO 指南,所有文本、代码、错误消息和数据都必须以文本形式输入,而不是以图像形式发布。请编辑您的问题,用文本替换图像。文本允许访问者有效地将准确的错误消息、代码和数据复制粘贴到他们的编辑器和搜索引擎中,从而有效且不引入更多拼写错误。此外,图像中的文本可能难以阅读,尤其是在移动设备上,并且图像对可访问性不友好。谢谢,一切顺利。 【参考方案1】:

解决了!

graphql-tag 有问题,我必须重写以确保没有不间断的空格!

【讨论】:

【参考方案2】:

复制您的 GQL 代码并使用 TextEdit 等其他编辑器粘贴为纯文本,然后复制纯文本并粘贴回 VSCode。

【讨论】:

从记事本和记事本 2 粘贴无效。再次输入 GQL 有效【参考方案3】:

VSCode 用户可以下载一个名为 “不间断空格荧光笔” 的插件,该插件会将所有 NBSP 以红色突出显示,便于查找。从您的 gql 查询中删除它们,错误就会消失。我相信其他编辑器也有类似的插件。

【讨论】:

以上是关于GraphQLError:语法错误:无法解析意外字符“\u00A0”的主要内容,如果未能解决你的问题,请参考以下文章

GraphQLError [Object]:语法错误:无法解析意外字符“;”

GraphQLError:语法错误:无法解析意外字符“。”

尝试启动 GraphQL Yoga Server 时出现语法错误

Gatsby 站点地图:GraphQLError:语法错误:预期名称,找到 <EOF>

无法解析模块 ../../../../src/graphql/error/GraphQLError

GraphQLError:语法错误:预期名称,找到 [