React + GraphQL:dataArray.map不是函数

时间:2018-04-10 04:40:56

标签: reactjs graphql react-apollo apollo-client

我刚开始学习graphQL和Apollo。

以下是使用Apollo客户端的示例客户端代码。

我从nodemon express服务器提供数据。

console.log(data)显示服务器的输出。

但是我试图使用apollo客户端显示查询结果,但我没有这样做。我被困在这里,任何帮助将不胜感激。



import React from "react"
import { Query } from "react-apollo";
import gql from "graphql-tag";

export const ExchangeRates = () => (
    <Query
        query={gql`
      {
        counterparty {
         name
       }
      }
    `}
    >
        {({ loading, error, data }) => {
            if (loading) return <p>Loading...</p>;
            if (error) return <p>Error :(</p>;

            console.log(data)   // Works fine as expected
            var a= data.map(x=>{
                return x.name
            })

            return <div> Data {a}</div> // stuck here ..how to display data
        }}

    </Query>
);
&#13;
&#13;
&#13;

以下代码给出错误并说

TypeError: data.map is not a function

然而,console.log(数据)工作正常,输出如下: - enter image description here

1 个答案:

答案 0 :(得分:1)

你在这里做错了......你的数组在data.counterparty里面...... 试试这个

var a= data.counterparty.map(x=>{
                return x.name
            })