gpt4 book ai didi

javascript - 将数组从 GraphQL 查询传递到 React-Table

转载 作者:行者123 更新时间:2023-12-03 01:39:40 25 4
gpt4 key购买 nike

我尝试获取 GraphQL 查询的数组输出并使用 React-Table 渲染它,但收到 Cannot read property 'forEach' of undefined 错误。

我设法找到的与我类似的唯一其他问题没有帮助( How to show data from GraphQL server to npm react-table? )。当我将查询结果打印到控制台时,它对我来说看起来像一个普通数组,所以我不确定为什么 forEach 无法识别它。

组件代码:

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

import ReactTable from 'react-table';
import "react-table/react-table.css";

const getTemplatesQuery = gql`
{
getTemplates {
id
name
}
}
`;

const columns = [
{
Header: "ID",
accessor: "id"
},
{
Header: "Name",
accessor: "name"
}
];

const Templates = () => (
<Query
query = {getTemplatesQuery}>
{({ loading, error, data }) => {
if (loading) return <p>Loading...</p>;
if (error) return <p>error</p>;

// return data.getTemplates.map(({ id, name }) => (
// <p key={id} >{`${name}`}</p>
// ));

console.log(data);

return (
<div>
<ReactTable>
data = { data.getTemplates }
columns = { columns }
defaultPageSize = { 10 }
</ReactTable>
</div>
);
}}
</Query>
)

export default Templates;

应用程序代码:

...
class App extends Component {
render() {
return (
<ApolloProvider client={client}>
<div>
<h2>My first Apollo app</h2>
<Templates />
</div>
</ApolloProvider>
);
}
}

render(<App />, document.getElementById("root"));

最佳答案

你的 react 表语法是错误的,它应该是这样的

<ReactTable
data={data.getTemplates}
columns={columns}
defaultPageSize={10}
/>

关于javascript - 将数组从 GraphQL 查询传递到 React-Table,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50908363/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com