在阅读了Apollo React文档后,我无法使用Redux提供的displayLocation
组件的道具变量DiscoveryList
来创建GraphQL查询。下面给出displayLocation
的流类型: -
type DisplayLocation = {
lat: number,
lng: number,
};
我收到以下错误: - Variable lat of type Float! was provided invalid value
,令人惊讶的是,float变量的提供值为37.33233141
。 Redux和Apollo Component集成代码如下: -
export default compose(
connect(({ displayLocation }) => ({ displayLocation }), {
updateDisplayLocation,
}),
graphql(
gql`
query DiscoveryList($lat: Float!, $lng: Float!) {
destinations(radius: {
latitude: $lat,
longitude: $lng,
distance: 10000})
{ name
id
country_code
}
}`,
{
options: ({ displayLocation }) => ({
variables: {
lat: displayLocation.lat,
lng: displayLocation.lng,
},
}),
},
),
)(DiscoverList);
非常感谢你的帮助。
我还想知道将redux道具提供给Apollo GraphQL查询,我们应该首先connect()
还原,然后是Apollo graphql()
,或者在导出组件之前反过来吗?
答案 0 :(得分:0)
定义如下:
type DisplayLocation = {
lat: Float,
lng: Float,
}
查看更多图表。