我正在使用ApolloClient构建Web服务器,并做出回应以谈论我的GraphQL后端,但是我正在努力寻找处理数据表的最佳方法。我对React的理解是,我应该将表构建为一个组件,然后将数据作为道具传递给它,这样我就可以将表组件重用于多个不同的数据源,并且可以将表布局视为道具之一。同样是因为这使我现在可以使用诸如react-table之类的简单内容,并稍后再移至Material-UI的表之类更复杂的内容,而无需更改查询代码。但是,在学习ApolloClient时可以找到的大多数示例都说明了如何使用Query组件并将值直接映射到该组件中。
此示例从如何在本机Javascript中运行查询开始,但是我对Javascript并不了解,不足以了解将结果JSON导出为prop的正确方法。 https://www.apollographql.com/docs/react/essentials/get-started.html
// Fetch GraphQL data with plain JS
client
.query({
query: gql`
{
rates(currency: "USD") {
currency
}
}
`
})
.then(({ data }) => console.log({ data }));
我是否应该看一下类似本文的内容,并将数据表作为要传递给GraphQL的组件提取? https://dev-blog.apollodata.com/query-components-with-apollo-ec603188c157
const QUERY = gql`
query allCities($country: String!) {
allCities {
id
name
}
}
`;
// Replace this with my data table
class CitiesQuery extends Component {
render() {
return this.props.children(this.props.data);
}
}
export default graphql(QUERY, {
options: ({ country }) => ({ variables: { country } }),
})(CitiesQuery);