反应变量作为查询参数

Reactive variables as query parameters

在我的 React 应用程序中实现 apollo-client 后,我​​注意到很多输入数据可能会在某个地方的反应变量中结束。如果我想向服务器请求任何东西,通常,值将来自一个反应变量。因此,如果我可以 link 反应变量的值到我的查询参数,它将大大简化我的代码。理想情况下,我想要的是这样的:

gql`
query FirstName {
  firstName @client
}
query LastName {
  lastName @client
}

query user($firstName: ???, $lastName: ???){
  user(firstName: $firstName, lastName: $lastName){
    id
    firstName
    lastName
    address
    dob
  }
}
`

现在,我知道这些请求会并行解决,所以上面的方法永远行不通...但是,我如何使它起作用?我是否需要为此添加 loadash?是否有 apollo-client 解决方案?我将如何使用 loadash 或任何其他库解决这个问题?

您要查找的是 @export 指令,此文档的 section 解释了如何将本地状态用作变量。

您的查询如下所示

query user($firstName: ???, $lastName: ???){
  firstName @client @export(as: "firstName")
  lastName @client @export(as: "lastName")
  user(firstName: $firstName, lastName: $lastName){
    id
    firstName
    lastName
    address
    dob
  }
}