我们在电子商务网站中广泛使用了Apollo GraphQl,当路线改变时,我遇到一些不必要的闪烁问题。 我的ProductTypeFilter组件包装在Router and Query组件中。 Query使用来自路由的信息作为其变量,在本示例中为productTypeId 。 在 ...
提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供 中文繁体 英文版本 中英对照 版本,有任何建议请联系yoyou2525@163.com。
我已经创建了一个带有标签的应用程序,好吗?
我创建了一个使用 apollo 客户端启动查询的组件。
我的问题是,第一次一切正常,进行查询并获得响应,但是当我更改其他选项卡时不会再次启动查询。
如何再次强制启动查询?
这是我的代码:
const GeojsonLayer = ({
layerId,
dynamic = true,
mapId,
map,
performance = true,
deployment = false,
onLoadingLayer,
onErrorLayer,
onLoadedLayer,
}: PerformanceLayerType) => {
const dmas = useSelector(
(state: GlobalReducerStateType) => state?.checkboxtree?.selectedDmas
);
const technologies = useSelector((state: GlobalReducerStateType) => {
state?.app?.technologies?.map(
(technology: TechNologyType) => technology.readingMethodCode
);
});
const { loading, error, data } = useQuery(FEATURE_LAYERS, {
variables: {
dmas,
technologies,
performance,
deployment,
},
});
useEffect(() => {
if (error) {
onErrorLayer(error);
}
}, [error]);
useEffect(() => {
onLoadingLayer(loading);
}, [loading]);
useEffect(() => {
if (!loading && data) {
const layer: GOGeoJsonLayer = map
?.getStaging(mapId)
?.getLayer(layerId);
layer.addFeatures(data, dynamic);
onLoadedLayer(layer);
}
}, [data]);
return null;
};
export default GeojsonLayer;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.