facebook / facebook/relay

useLazyLoadQuery skip?

Open
#4,517 5 comments 7 reactions 0 assignees View on GitHub
Dominant language
Rust
Stars
19k
Forks
1.9k
PR merge metrics
No merged PRs in 30d

Description

It looks like `skip` parameter of `useLazyLoadQuery` was removed at some point, and I do not see any mention of it in release notes or advice how to migrate away, e.g. code that was using it:

```diff
import {
type RedirectToStripeCheckoutType,
useContraProStripeCheckout,
} from './useContraProStripeCheckout.js';
import { useCurrentUser } from './useCurrentUser.js';
import { useUserTypeSelector } from './useUserTypeSelector.js';
import { type useUpgradeToProQuery } from '@/__generated__/relay/useUpgradeToProQuery.graphql.js';
import { useLazyLoadQuery } from 'react-relay';
import { graphql } from 'relay-runtime';

type CTAType = 'UPGRADE_TO_PRO';

export const useUpgradeToPro = ({
skip = false,
}: {
skip?: boolean;
} = {}): {
hasActivePortfolioSubscription: boolean;
isGeneratingStripeLink: boolean;
redirectToStripeCheckout: RedirectToStripeCheckoutType;
upgradeCTAType: CTAType | null;
} => {
const { selectedUserType } = useUserTypeSelector();
const currentUser = useCurrentUser();
const { isGeneratingStripeLink, redirectToStripeCheckout } =
useContraProStripeCheckout();
const data = useLazyLoadQuery(
graphql`
query useUpgradeToProQuery {
visitor {
userAccount {
profile {
hasActivePortfolioSubscription
}
}
}
}
`,
- {
- skip,
- },
);

const hasActivePortfolioSubscription =
data?.visitor?.userAccount?.profile?.hasActivePortfolioSubscription ??
false;

const baseShouldShowCTA =
!skip &&
selectedUserType === 'CONTRACTOR' &&
currentUser &&
!hasActivePortfolioSubscription;

return {
hasActivePortfolioSubscription,
isGeneratingStripeLink,
redirectToStripeCheckout,
upgradeCTAType: baseShouldShowCTA ? 'UPGRADE_TO_PRO' : null,
};
};

```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.