使用带有 react-apollo 查询的变量
Posted
技术标签:
【中文标题】使用带有 react-apollo 查询的变量【英文标题】:Using Variables with react-apollo Query 【发布时间】:2018-09-25 13:13:11 【问题描述】:我已将查询附加到我的 React Native 组件,如下所示:
let getNearbyStoriesQuery = gql`
getStoriesNearbyByGeoHash(geoHash: "8k")
id
`;
export default graphql(getNearbyStoriesQuery,
props: (props) =>
debugger;
let storiesNearby = props.data.getStoriesNearbyByGeoHash.map((story) =>
return
id: story.id,
);
return storiesNearby;
,
variables:
geoHash: mockGeoHash
)(Home); // Home is the React Native Component
只要我在查询中为 geoHash 硬编码一个值,我就可以使用这种技术检索数据;在这种情况下,我使用了“8k”。但是,当我尝试修改查询以便可以像这样插入变量时:
let getNearbyStoriesQuery = gql`
getStoriesNearbyByGeoHash($geoHash: String!)
id
`;
我收到一条错误消息 Expected Name, found $
。这种将变量传递给查询的方法在多个源中重复。我在这里做错了什么?
【问题讨论】:
【参考方案1】:应该是:
query GetStoriesNearbyByGeoHash($geoHash: String!)
getStoriesNearbyByGeoHash(geoHash: $geoHash)
id
看看如何在graphql中使用变量:http://graphql.org/learn/queries/#variables
【讨论】:
谢谢!这让我发疯了几个小时。以上是关于使用带有 react-apollo 查询的变量的主要内容,如果未能解决你的问题,请参考以下文章
如何在 react-apollo graphql 查询中正确使用动态变量?
ReactJS/Javascript/Graphql/React-apollo:传递查询变量
Graphql,react-apollo如何在加载组件状态时将变量传递给查询