forked from imbytecat/fullstack-starter
feat: 升级依赖并集成 ORPC 与 TanStack Query
- 升级 `@orpc` 相关依赖至 1.13.4 版本并更新 `@tanstack/react-router` 等核心库至 1.151.0 版本,同时引入新依赖 `@standard-schema/spec`、`cookie`、`openapi-types`、`radash` 和 `type-fest`。 - 升级 TanStack React Router 及相关依赖至 1.151.0 版本,并添加 Orpc 相关客户端、服务器和 React Query 集成依赖。 - 创建支持服务端和客户端的 ORPC 客户端实例,并集成 TanStack Query 工具以实现数据查询功能。 - 添加路由模块以导出待办事项相关的操作函数。 - 添加待办事项列表和添加待办事项的路由接口,支持输入验证和数据操作。 - 添加待办事项数据校验模式,定义包含唯一ID和名称字段的结构化数据模型。
This commit is contained in:
27
src/orpc/client.ts
Normal file
27
src/orpc/client.ts
Normal file
@@ -0,0 +1,27 @@
|
||||
import { createORPCClient } from '@orpc/client'
|
||||
import { RPCLink } from '@orpc/client/fetch'
|
||||
import type { RouterClient } from '@orpc/server'
|
||||
import { createRouterClient } from '@orpc/server'
|
||||
import { createTanstackQueryUtils } from '@orpc/tanstack-query'
|
||||
import { createIsomorphicFn } from '@tanstack/react-start'
|
||||
import { getRequestHeaders } from '@tanstack/react-start/server'
|
||||
import { router } from '@/orpc/router'
|
||||
|
||||
const getORPCClient = createIsomorphicFn()
|
||||
.server(() =>
|
||||
createRouterClient(router, {
|
||||
context: () => ({
|
||||
headers: getRequestHeaders(),
|
||||
}),
|
||||
}),
|
||||
)
|
||||
.client((): RouterClient<typeof router> => {
|
||||
const link = new RPCLink({
|
||||
url: `${window.location.origin}/api/rpc`,
|
||||
})
|
||||
return createORPCClient(link)
|
||||
})
|
||||
|
||||
export const client: RouterClient<typeof router> = getORPCClient()
|
||||
|
||||
export const orpc = createTanstackQueryUtils(client)
|
||||
Reference in New Issue
Block a user