From 845b08d7db0287d91b8ce8e73d7bea978755348c Mon Sep 17 00:00:00 2001 From: ditiqi Date: Tue, 27 May 2025 08:18:57 +0800 Subject: [PATCH] add --- apps/web/app/page.tsx | 49 +++++++++++++++++++++-- packages/client/src/api/hooks/index.ts | 4 +- packages/client/src/api/hooks/useHello.ts | 7 ++++ packages/client/src/api/trpc.ts | 8 ++-- packages/client/src/index.ts | 2 +- 5 files changed, 59 insertions(+), 11 deletions(-) create mode 100644 packages/client/src/api/hooks/useHello.ts diff --git a/apps/web/app/page.tsx b/apps/web/app/page.tsx index f089d25..c9841e8 100644 --- a/apps/web/app/page.tsx +++ b/apps/web/app/page.tsx @@ -1,5 +1,46 @@ -export default async function Home() { - return
- -
; +'use client'; + +import { api } from '@repo/client'; +import { Button } from '@repo/ui/components/button'; +import { useState } from 'react'; +import { QueryClient, QueryClientProvider } from '@tanstack/react-query'; +import { httpBatchLink } from '@trpc/client'; + +function HomeContent() { + const [name, setName] = useState(''); + const helloQuery = api.hello.useQuery(name || undefined); + + return ( +
+ setName(e.target.value)} + placeholder="输入名字" + className="border p-2 mr-2" + /> + +
+ ); +} + +export default function Home() { + const [queryClient] = useState(() => new QueryClient()); + const [trpcClient] = useState(() => + api.createClient({ + links: [ + httpBatchLink({ + url: 'http://localhost:3000/api/trpc', + }), + ], + }), + ); + + return ( + + + + + + ); } diff --git a/packages/client/src/api/hooks/index.ts b/packages/client/src/api/hooks/index.ts index 65ddfc5..4748f6c 100755 --- a/packages/client/src/api/hooks/index.ts +++ b/packages/client/src/api/hooks/index.ts @@ -1,2 +1,2 @@ - -export * from "./useEntity" +export * from './useEntity'; +export * from './useHello'; diff --git a/packages/client/src/api/hooks/useHello.ts b/packages/client/src/api/hooks/useHello.ts new file mode 100644 index 0000000..00b5155 --- /dev/null +++ b/packages/client/src/api/hooks/useHello.ts @@ -0,0 +1,7 @@ +import { api } from '../trpc'; + +export function useHello() { + return { + hello: api.hello, + }; +} diff --git a/packages/client/src/api/trpc.ts b/packages/client/src/api/trpc.ts index e4b46f0..fe2f94f 100755 --- a/packages/client/src/api/trpc.ts +++ b/packages/client/src/api/trpc.ts @@ -1,8 +1,8 @@ -import { AppRouter } from "@repo/backend/trpc" -import { inferReactQueryProcedureOptions } from "@trpc/react-query"; -import { inferRouterInputs, inferRouterOutputs } from "@trpc/server"; +import { AppRouter } from '@repo/backend/trpc'; +import { inferReactQueryProcedureOptions } from '@trpc/react-query'; +import { inferRouterInputs, inferRouterOutputs } from '@trpc/server'; import { createTRPCContext } from '@trpc/tanstack-react-query'; export type ReactQueryOptions = inferReactQueryProcedureOptions; export type RouterInputs = inferRouterInputs; export type RouterOutputs = inferRouterOutputs; -export const { TRPCProvider, useTRPC, useTRPCClient } = createTRPCContext(); \ No newline at end of file +export const { TRPCProvider, useTRPC, useTRPCClient } = createTRPCContext(); diff --git a/packages/client/src/index.ts b/packages/client/src/index.ts index e1a7166..b1c13e7 100755 --- a/packages/client/src/index.ts +++ b/packages/client/src/index.ts @@ -1 +1 @@ -export * from "./api" +export * from './api';