如何构造ApolloClient服务器数据表

时间:2018-06-20 11:41:31

标签: javascript reactjs graphql-js apollo-client

我正在使用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);

0 个答案:

没有答案