小编Siy*_*Haq的帖子

onCompleted 回调未调用 useLazyQuery 钩子 apollo 客户端(React)中的第二次调用

我正在使用 apollo 客户端对 graphql 查询做出反应,现在我有一个问题,虽然我使用 useLazyQuery 钩子以编程方式查询,但是当我第二次查询时, onCompleted 回调实际上没有触发,网络请求实际上已完成并且 1 索引中的状态该钩子的返回值正在更新

const [getUser, getUserStatus] = useLazyQuery(GET_USER, {
    fetchPolicy: 'no-cache',
    notifyOnNetworkStatusChange: true,
    // this callback is not triggering 2nd call of getUser
    onCompleted: (data) => {
        const { customerCart, customer } = data;
        if (!id) {
            dispatch(updateCartId(customerCart.id));
        }
        if (id !== customerCart.id) {
            mergeCart({
                variables: { cartId: id, cartIdToMerge: customerCart.id },
            });
        }
        dispatch(updateUser(customer));
    },
    onError: (error) => {
        checkHasAuth(error);
    },
});

useEffect(() => {
    if (token) {
        // here i …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs graphql-js apollo-client

3
推荐指数
1
解决办法
8930
查看次数

标签 统计

apollo-client ×1

graphql-js ×1

javascript ×1

reactjs ×1