Skip to content

Commit

Permalink
prefetch comments
Browse files Browse the repository at this point in the history
  • Loading branch information
alan2207 committed Aug 11, 2024
1 parent 4d85e92 commit 71c1835
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 3 deletions.
11 changes: 9 additions & 2 deletions apps/react-vite/src/app/routes/app/discussions/discussions.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import { QueryClient } from '@tanstack/react-query';
import { QueryClient, useQueryClient } from '@tanstack/react-query';

import { ContentLayout } from '@/components/layouts';
import { getCommentsQueryOptions } from '@/features/comments/api/get-comments';
import { getDiscussionsQueryOptions } from '@/features/discussions/api/get-discussions';
import { CreateDiscussion } from '@/features/discussions/components/create-discussion';
import { DiscussionsList } from '@/features/discussions/components/discussions-list';
Expand All @@ -15,13 +16,19 @@ export const discussionsLoader = (queryClient: QueryClient) => async () => {
};

export const DiscussionsRoute = () => {
const queryClient = useQueryClient();
return (
<ContentLayout title="Discussions">
<div className="flex justify-end">
<CreateDiscussion />
</div>
<div className="mt-4">
<DiscussionsList />
<DiscussionsList
onDiscussionPrefetch={(id) => {
// Prefetch the comments data when the user hovers over the link in the list
queryClient.prefetchQuery(getCommentsQueryOptions(id));
}}
/>
</div>
</ContentLayout>
);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,13 @@ import { useDiscussions } from '../api/get-discussions';

import { DeleteDiscussion } from './delete-discussion';

export const DiscussionsList = () => {
export type DiscussionsListProps = {
onDiscussionPrefetch?: (id: string) => void;
};

export const DiscussionsList = ({
onDiscussionPrefetch,
}: DiscussionsListProps) => {
const discussionsQuery = useDiscussions();
const queryClient = useQueryClient();

Expand Down Expand Up @@ -48,6 +54,7 @@ export const DiscussionsList = () => {
onMouseEnter={() => {
// Prefetch the discussion data when the user hovers over the link
queryClient.prefetchQuery(getDiscussionQueryOptions(id));
onDiscussionPrefetch?.(id);
}}
to={`./${id}`}
>
Expand Down

0 comments on commit 71c1835

Please sign in to comment.