【问题标题】:Dynamically choose query variables in React Apollo在 React Apollo 中动态选择查询变量
【发布时间】:2019-08-28 11:08:01
【问题描述】:

我希望能够动态选择我在 GraphQL 中使用的查询变量。

例如,需要三个单独的查询似乎有点多余:

const getAllStops = gql`
  query trafficStops {
    trafficStops {
      id
      date
    }
  }
`

const getStopsAfter = gql`
  query trafficStops($after: String!) {
    trafficStops(after: $after) {
      id
      date
    }
  }
`
const getStopsBefore = gql`
  query trafficStops($before: String!) {
    trafficStops(before: $before) {
      id
      date
    }
  }
`

有没有一种方法可以让我不仅将变量 beforeafter 传递,还可以将一个变量、另一个变量、一个都不传递,或者两者都传递给单个查询而不是多个查询?

【问题讨论】:

    标签: graphql react-apollo


    【解决方案1】:

    是的,您只需将参数设为可选。 String! 处的感叹号要求参数是字符串而不是 null。因此,通过删除它,您可以将单个查询编写为

    const getAllStops = gql`
      query trafficStops($after: String, $before: String)  {
        trafficStops(after: $after, before: $before) {
          id
          date
        }
      }
    `
    

    【讨论】:

    • 你知道,我已经在服务器上以这种方式设置它,我什至没有想到在前端这样做。谢谢!
    猜你喜欢
    • 2017-12-17
    • 2018-06-27
    • 2018-11-25
    • 2018-09-25
    • 2019-01-26
    • 2018-03-02
    • 2017-12-20
    • 2019-03-21
    • 1970-01-01
    相关资源
    最近更新 更多