将参数传递给 apollo 中的查询失败
Posted
技术标签:
【中文标题】将参数传递给 apollo 中的查询失败【英文标题】:Failed passing parameters to a query in apollo 【发布时间】:2019-04-15 03:04:52 【问题描述】:我在这里有一个有效的查询
const getCicadaByUserIdQuery = gql`
query($id:String)
user(id:$id)
id
userName
password
cicadas
name
id
image
long
lat
userid
`
在 localhost 中传递用户的有效 id 时,它将按预期返回数据。 我试图做的是在登录用户上传递特定用户的参数
export default compose(
graphql(getCicadasQuery,name:"getCicadasQuery"),
graphql(addCicadaMutation,name:"addCicadaMutation"),
graphql(getCicadaByUserIdQuery,
name:"getCicadaByUserIdQuery",
options: () => ( variables: id: getLoginUser().id )
),
graphql(getUsersQuery,name:"getUsersQuery"),
)(CicadaScoutScreen)
getLoginUser() 是一个简单的函数,返回当前登录用户的数据。
我通过以下方式调用此查询:
this.props.getCicadaByUserIdQuery
请帮助我似乎无法让它工作
【问题讨论】:
【参考方案1】:如果它适用于 localhost 但不适用于您正在运行的服务器,则可能与 getLoginUser()
函数的工作方式有关。
您可以 console.log 该函数的输出进行调试,如下所示:
graphql(getCicadaByUserIdQuery,
name:"getCicadaByUserIdQuery",
options: () =>
console.log(getLoginUser());
return variables: id: getLoginUser().id ;
),
如果它在 localhost 中工作,那么 Apollo 客户端本身可能不是问题。
【讨论】:
非常感谢您的评论,我刚刚使用了一个突变,它可以工作以上是关于将参数传递给 apollo 中的查询失败的主要内容,如果未能解决你的问题,请参考以下文章
Apollo Client Angular:如何将从查询中获得的数据作为参数传递给graphql中的另一个查询?
将参数传递给 react-apollo-hooks useQuery