繁体   English   中英

如何启动 apollo 查询?

[英]How to launch apollo query?

我已经创建了一个带有标签的应用程序,好吗?

我创建了一个使用 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM