Help us improve
Share bugs, ideas, or general feedback.
From frontend-craft
Guides TanStack Query / React Query patterns: typed queries, caching, mutations, optimistic updates, infinite queries, prefetching, SSR hydration, and API-layer integration.
npx claudepluginhub bovinphang/frontend-craftHow this skill is triggered — by the user, by Claude, or both
Slash command
/frontend-craft:fec-data-fetchingThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
用声明式 server state 管理替代手写 `useEffect + loading`。
Provides TanStack Query v5 reference for React data fetching, caching, server state management using useQuery/useMutation hooks, QueryClient setup, optimistic updates, Next.js SSR/hydration, testing, TypeScript, and advanced patterns.
Provides expertise in TanStack Query for React/Next.js data fetching, caching (staleTime/gcTime), mutations, optimistic updates, cache invalidation, and App Router SSR hydration.
Manages server state with automatic caching, background refetching, pagination, infinite scrolling, and optimistic updates for React, Vue, Svelte, Angular apps.
Share bugs, ideas, or general feedback.
用声明式 server state 管理替代手写 useEffect + loading。
useState/store。QueryClientProvider,按业务数据新鲜度设置 staleTime、gcTime、retry 和窗口聚焦刷新。onError 回滚。import { useMutation, useQuery, useQueryClient } from "@tanstack/react-query";
export function UserList({ keyword }: { keyword: string }) {
const query = useQuery({
queryKey: ["users", "list", { keyword }],
queryFn: () => getUserList({ keyword, page: 1, pageSize: 20 }),
select: (response) => response.list,
});
if (query.isLoading) return <Skeleton />;
if (query.isError) return <ErrorFallback onRetry={() => query.refetch()} />;
if (!query.data?.length) return <EmptyState />;
return query.data.map((user) => <UserRow key={user.id} user={user} />);
}
export function useCreateUser() {
const queryClient = useQueryClient();
return useMutation({
mutationFn: createUser,
onSuccess: () => queryClient.invalidateQueries({ queryKey: ["users"] }),
});
}
Load references/query-patterns.md for QueryClient defaults, optimistic update, infinite queries, prefetching, SSR hydration, and API-layer integration.
staleTime 过长会显示旧数据,过短会造成频繁请求。onError 回滚。dehydrate / HydrationBoundary。数据获取层具备 loading/error/empty/data 状态,重复请求自动去重,mutation 后缓存正确失效或回滚,API 层与 UI 层边界清晰。
fec-form-handling — 表单状态、校验和提交 UI;提交后的 mutation 可联用本 skill。fec-pwa-implementation — Service Worker 和离线缓存,不负责 React Query server state。fec-list-virtualization — 无限列表的 DOM 渲染性能;分页数据源可联用本 skill。