Defined™D
Convex Community13mo ago
2 replies
Defined™

Weird error with TanStack Query

I made this hook to get user info from Convex:
export function useUserProfile() {
    const { user } = useUser();
    const clerkId = user?.id;

    if (!clerkId) {
        throw new Error("User is not authenticated");
    }

    const userQuery = useQuery(
        convexQuery(api.users.getUserByClerkId, { clerk_id: clerkId }),
    );

    return { user: userQuery.data!, isPending: userQuery.isPending };
}

This is my code when im using it
export default function () {
    const { user, isPending } = useUserProfile();

    const userScore = useQuery({
        ...convexQuery(api.score.getUserScore, { userId: user._id }),
        enabled: !!user?._id,
    });

    if (isPending || (user?._id && userScore.isPending)) {
        return (
            <ScrollView className="bg-background">
                <ActivityIndicator className="text-primary" />
            </ScrollView>
        );
    } else {
        return <Content/>
    }
}

This is a React Native code, I have a chance of having:
Cannot read property _id of undefined
at:
const userScore = useQuery({
        ...convexQuery(api.score.getUserScore, { userId: user._id }),
        enabled: !!user?._id,
    });

It still try to access user._id even enabled false?
Was this page helpful?