从 React 向 GraphQL 服务器进行查询时出现意外错误 [重复]

Posted

技术标签:

【中文标题】从 React 向 GraphQL 服务器进行查询时出现意外错误 [重复]【英文标题】:Unexpected error upon making a Query to GraphQL server from React [duplicate] 【发布时间】:2020-09-03 10:20:42 【问题描述】:

我收到一个错误: 期待一个赋值或函数调用,但在我的地图函数内的 查询标记div 处看到了一个表达式,当我正在制作时对后端 GraphQL 服务器的查询。

这是我的 query.component.jsx 文件代码:

import React from 'react';
import Query from 'react-apollo';
import gql from 'apollo-boost';

const GET_COMMUNITY = gql`
    query Community 
        Community 
        isOpen
        member_count
        name
        description
        
    
`;

const TestQuery = () => 
    <Query query=GET_COMMUNITY>
        
            (loading,error, data:Community) => 
                if(loading) return <h1>Loading...</h1>;
                if(error) return <h1>Error occured...</h1>;
                return (
                    Community.map((item) =>
                        <div className="community_members">
                        <p>item.isOpen</p>
                        <p>item.member_count</p>
                        <p>item.name</p>
                        <p>item.description</p>
                        <br />
                        </div>
                    )
                );
            
        
    </Query>
;
export default TestQuery;

这个错误是因为我使用了地图功能吗? 请帮助我解决这些类型的问题,因为与其他语言/框架相比,在 React 代码中查找错误变得有点困难。

【问题讨论】:

尝试将Community重命名为community 【参考方案1】:

您没有返回 map 内的值,这就是您收到此错误的原因。

您要么使用如下的显式返回

return (
    Community.map((item) => 
     return (    // return statement here
        <div className="community_members">
        <p>item.isOpen</p>
        <p>item.member_count</p>
        <p>item.name</p>
        <p>item.description</p>
        <br />
        </div>
      )
    )
);

或类似的隐式返回

return (
    Community.map((item) => ( // Implicit return
        <div className="community_members">
        <p>item.isOpen</p>
        <p>item.member_count</p>
        <p>item.name</p>
        <p>item.description</p>
        <br />
        </div>
      )
   )
);

请查看this post以获取有关上述语法的信息

【讨论】:

以上是关于从 React 向 GraphQL 服务器进行查询时出现意外错误 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

React GraphQL Relay - 如何进行简单查询?

如何发送文件以响应 graphql 查询? (从服务器向客户端发送一个 csv 文件)

如何从组件中抽象出一个 graphQL 查询?

Graphql,react-apollo如何在加载组件状态时将变量传递给查询

React Apollo:从组件状态动态更新 GraphQL 查询

使用 typescript、react 和 graphql 以正确方式进行查询的问题