从 v10 迁移到 v11
从 v10 迁移到 v11
¥Migrating from v10 to v11
对于大多数用户来说,迁移应该快速而直接。
¥For most users, the migration should be quick & straight-forward.
如果以下三个步骤还不够,请查看以下文档以了解 "很少中断"。
¥If the below three steps aren't enough, look through the below document for "rarely breaking".
1. 安装新版本
¥ Install new versions
- npm
- yarn
- pnpm
- bun
- deno
npm install @trpc/server@^11 @trpc/client@^11 @trpc/react-query@^11 @trpc/next@^11 @tanstack/react-query@^5 @tanstack/react-query-devtools@^5
yarn add @trpc/server@^11 @trpc/client@^11 @trpc/react-query@^11 @trpc/next@^11 @tanstack/react-query@^5 @tanstack/react-query-devtools@^5
pnpm add @trpc/server@^11 @trpc/client@^11 @trpc/react-query@^11 @trpc/next@^11 @tanstack/react-query@^5 @tanstack/react-query-devtools@^5
bun add @trpc/server@^11 @trpc/client@^11 @trpc/react-query@^11 @trpc/next@^11 @tanstack/react-query@^5 @tanstack/react-query-devtools@^5
deno add npm:@trpc/server@^11 npm:@trpc/client@^11 npm:@trpc/react-query@^11 npm:@trpc/next@^11 npm:@tanstack/react-query@^5 npm:@tanstack/react-query-devtools@^5
2. 如果你正在使用 transformer
,请更新你的链接
¥ If you're using transformer
s, update your links
有关更多信息,请参阅 转换器已移至链接。
¥See transformers are moved to links for more information.
3. 如果你正在使用 @trpc/react-query
,请更新你的 @tanstack/react-query
版本
¥ If you're using @trpc/react-query
update your @tanstack/react-query
-version
有关更多信息,请参阅 react-query-v5。
¥See react-query-v5 for more information.
完整反向时间顺序更新日志
¥Full reverse-chronological changelog
新的 TanStack React Query 集成!(不中断)
¥New TanStack React Query integration! (non-breaking)
我们很高兴地宣布,新的 TanStack React Query 集成现已在 tRPC 的 next
版本中可用!
¥We are excited to announce the new TanStack React Query integration for tRPC is now available on tRPC's next
-release!
Read the blog post 了解更多信息。
¥Read the blog post for more information.
停止来自服务器的订阅(很少发生中断)
¥Stopping subscriptions from the server (rarely breaking)
我们现在支持从服务器停止订阅,这意味着你现在可以执行以下操作:
¥We now support stopping subscriptions from the server, this means that you can now do things like this:
ts
const myRouter = router({sub: publicProcedure.subscription(async function* (opts) {for await (const data of on(ee, 'data', {signal: opts.signal,})) {const num = data[0] as number | undefined;if (num === undefined) {// This will now stop the subscription on the client and trigger the `onComplete` callbackreturn;}yield num;}}),});
ts
const myRouter = router({sub: publicProcedure.subscription(async function* (opts) {for await (const data of on(ee, 'data', {signal: opts.signal,})) {const num = data[0] as number | undefined;if (num === undefined) {// This will now stop the subscription on the client and trigger the `onComplete` callbackreturn;}yield num;}}),});
有关更多信息,请参阅 订阅文档。
¥See the subscriptions docs for more information.
添加对延迟加载路由的支持(无中断)
¥Added support for lazy-loading routers (non-breaking)
有关更多信息,请参阅 延迟加载路由文档。
¥See the lazy-loading routers docs for more information.
作为其中的一部分,我们已将内部方法
callProcedure()
的参数更改为接收{ router: AnyRouter }
参数而不是{ _def: AnyRouter['_def'] }
参数。¥As part of this, we've changed the argument of the internal method
callProcedure()
to receive a{ router: AnyRouter }
-param instead of a{ _def: AnyRouter['_def'] }
-param.
自定义 basePath
处理独立适配器下的请求(非中断)
¥Custom basePath
to handle requests under in the standalone adapter (non-breaking)
独立适配器现在支持 basePath
选项,它将从请求路径的开头切分 basePath。
¥The standalone adapter now supports a basePath
option, which will slice the basePath from the beginning of the request path.
有关更多信息,请参阅 独立适配器文档。
¥See the standalone adapter docs for more information.
添加对 HTTP/2 服务器的支持(无中断)
¥Added support for HTTP/2 servers (non-breaking)
我们现在支持 HTTP/2 服务器,这意味着你现在可以使用 createHTTP2Handler
和 createHTTPServer
函数来创建 HTTP/2 服务器。
¥We now support HTTP/2 servers, this means that you can now use the createHTTP2Handler
and createHTTPServer
functions to create HTTP/2 servers.
有关更多信息,请参阅 独立适配器文档。
¥See the standalone adapter docs for more information.
将 TRPCProcedureOptions
移至 @trpc/client
(对大多数情况而言不会造成破坏)
¥Move TRPCProcedureOptions
to @trpc/client
(non-breaking for most)
如果你之前使用过 @trpc/server
中的 ProcedureOptions
,现在需要改用 @trpc/client
中的 TRPCProcedureOptions
。
¥If you previously used ProcedureOptions
from @trpc/server
, you now need to use TRPCProcedureOptions
from @trpc/client
instead.
允许承诺嵌入嵌套数据(非中断)
¥Allow promises to be embedded in nested data (non-breaking)
我们现在允许在使用 httpBatchStreamLink
时将承诺嵌入嵌套数据中,这意味着你现在可以执行以下操作:
¥We now allow promises to be embedded in nested data when using the httpBatchStreamLink
, this means that you can now do things like this:
ts
const router = router({embedPromise: publicProcedure.query(() => {async function slowThing() {await new Promise((resolve) => setTimeout(resolve, 1000));return 'slow';}return {instant: 'instant',slow: slowThing(),};}),});
ts
const router = router({embedPromise: publicProcedure.query(() => {async function slowThing() {await new Promise((resolve) => setTimeout(resolve, 1000));return 'slow';}return {instant: 'instant',slow: slowThing(),};}),});
将 reconnectAfterInactivityMs
移至 sse.client
(不会造成破坏)
¥Moved reconnectAfterInactivityMs
to sse.client
(non-breaking)
更新了 HTTP 订阅链接改进 部分和相关文档。
¥Updated HTTP Subscription Link improvements-section and related docs.
现在需要 TypeScript 版本 >=5.7.2(非中断)
¥TypeScript version >=5.7.2 is now required (non-breaking)
tRPC 现在需要 TypeScript 版本 5.7.2 或更高版本。此项更改是为了响应 错误报告 而做出的,我们决定采取前瞻性的方法。
¥tRPC now requires TypeScript version 5.7.2 or higher. This change was made in response to a bug report where we decided to take a forward-looking approach.
如果你尝试使用不受支持的 TypeScript 版本安装 tRPC,则在安装过程中会收到对等依赖错误。
¥If you try to install tRPC with an unsupported TypeScript version, you'll receive a peer dependency error during installation.
如果你注意到编辑器显示 any
类型,很可能是因为你的编辑器没有使用正确的 TypeScript 版本。要解决此问题,你需要将编辑器配置为使用项目 package.json
中安装的 TypeScript 版本。
¥If you notice your editor showing any
types, it's likely because your editor isn't using the correct TypeScript version. To fix this, you'll need to configure your editor to use the TypeScript version installed in your project's package.json
.
对于 VSCode 用户,请将这些设置添加到你的 .vscode/settings.json
:
¥For VSCode users, add these settings to your .vscode/settings.json
:
.vscode/settings.jsonjson
{"typescript.tsdk": "node_modules/typescript/lib","typescript.enablePromptUseWorkspaceTsdk": true}
.vscode/settings.jsonjson
{"typescript.tsdk": "node_modules/typescript/lib","typescript.enablePromptUseWorkspaceTsdk": true}
将 experimental.sseSubscriptions
移至 sse
(不会造成破坏)
¥Moves experimental.sseSubscriptions
-> sse
(non-breaking)
experimental.sseSubscriptions
选项已移至 initTRPC.create()
函数中的 sse
。
¥The experimental.sseSubscriptions
option has been moved to just sse
in the initTRPC.create()
-function.
HTTP 订阅链接改进(非破坏性)
¥HTTP Subscription Link improvements (non-breaking)
添加了对检测和从陈旧连接中恢复的支持:
¥Added support for detecting and recovering from stale connections:
在服务器上,你可以配置 ping 间隔以保持连接处于活动状态:
¥On the server, you can configure a ping interval to keep the connection alive:
ts
export const t = initTRPC.create({// ...sse: {ping: {enabled: true,intervalMs: 15_000,},client: {// Reconnect if no messages or pings are received for 20 secondsreconnectAfterInactivityMs: 20_000,},},});
ts
export const t = initTRPC.create({// ...sse: {ping: {enabled: true,intervalMs: 15_000,},client: {// Reconnect if no messages or pings are received for 20 secondsreconnectAfterInactivityMs: 20_000,},},});
我们可能会在未来添加默认的 ping 间隔和超时配置,但这尚未决定。欢迎在 Discord 上的 🎏 rfc-streaming 通道中提供反馈。
¥We will likely add a default ping interval and timeout configuration in the future, but this is not yet decided. Feedback is welcome in the 🎏-rfc-streaming channel on Discord.
有关这些功能的更多详细信息,请参阅 httpSubscriptionLink
文档。
¥See the httpSubscriptionLink
docs for more details on these features.
retryLink
简介(非破坏性)
¥Introduction of retryLink
(non-breaking)
查看 retryLink - 允许你重试失败的操作
¥See retryLink - allows you to retry failed operations
useSubscription
改进(无中断)
¥useSubscription
improvements (non-breaking)
-
当使用 useSubscription 钩子订阅过程时,它现在将返回有关订阅和连接状态的信息。
¥When subscribing to procedures using the useSubscription hook it will now return information about the status of the subscription and the connection.
-
使用
httpSubscriptionLink
时能够拥有 ponyfill¥Ability to have a ponyfill when using
httpSubscriptionLink
订阅过程输出类型更改为 AsyncGenerator
(无中断)
¥Subscription procedure output type changed to AsyncGenerator
(non-breaking)
如果你已将订阅与 v11 的异步生成器一起使用,这可能会破坏你推断类型的方式。
¥If you've used subscriptions with async generators with the v11, this might be breaking with how you infer your types.
Details
We changed the inferred output from:
ts
SubscriptionProcedure<{input: __INPUT__;output: __OUTPUT__;}>;
ts
SubscriptionProcedure<{input: __INPUT__;output: __OUTPUT__;}>;
to
ts
SubscriptionProcedure<{input: __INPUT__;output: AsyncGenerator<__OUTPUT__, void, unknown>;}>;
ts
SubscriptionProcedure<{input: __INPUT__;output: AsyncGenerator<__OUTPUT__, void, unknown>;}>;
If you need to infer the value you can use a helper like the below:
ts
type inferAsyncIterableYield<TOutput> =TOutput extends AsyncGenerator<infer $Yield> ? $Yield : never;
ts
type inferAsyncIterableYield<TOutput> =TOutput extends AsyncGenerator<infer $Yield> ? $Yield : never;
进行此更改是为了确保库与未来更新保持兼容,并允许在订阅的 AsyncGenerator
中使用 return
类型。
¥This change has been made to ensure the library remains compatible with future updates and allows for the use of the return
type in subscriptions' AsyncGenerator
s.
有关更多信息,请参阅 订阅文档。
¥See subscriptions docs for more information.
添加对订阅中的输出验证器的支持(无中断)
¥Added support for output validators in subscriptions (non-breaking)
有关更多信息,请参阅 订阅文档。
¥See subscriptions docs for more information.
弃用返回 Observable
的订阅(不会中断)
¥Deprecation of subscriptions returning Observable
s (non-breaking)
我们现在支持返回订阅的异步生成器函数,我们之前添加了 httpSubscriptionLink
。
¥We now support returning async generator function for subscriptions and we previously added a httpSubscriptionLink
.
要了解如何使用异步生成器函数进行订阅,请参阅 订阅文档。
¥To see how to use async generator functions for subscriptions see the subscriptions docs.
删除 AbortControllerEsque
-ponyfill(很少发生中断)
¥Removal of AbortControllerEsque
-ponyfill (rarely breaking)
我们从 tRPC 中删除了 AbortControllerEsque
-ponyfill,如果你需要支持旧版浏览器,可以使用 abortcontroller-polyfill
等 polyfill。
¥We have removed the AbortControllerEsque
-ponyfill from tRPC, if you need to support older browsers you can use a polyfill like abortcontroller-polyfill
.
支持服务器发送事件 (SSE)(无中断)
¥Support for Server-sent events (SSE) (non-breaking)
我们现在支持 SSE 订阅,这意味着你无需启动 WebSocket 服务器即可在应用中获取实时更新,并且如果连接丢失,客户端可以自动重新连接并恢复。
¥We now support SSE for subscriptions, this means that you don't need to spin up a WebSocket server to get real-time updates in your application & that the client can automatically reconnect and resume if the connection is lost.
👉 在 httpSubscriptionLink
文档中查看更多。
¥👉 See more in the httpSubscriptionLink
docs.
支持通过 HTTP 进行流式响应(无中断)
¥Support for streaming responses over HTTP (non-breaking)
我们现在支持使用 httpBatchStreamLink
进行流式突变和查询。
¥We now support streaming mutations and queries using the httpBatchStreamLink
.
这意味着查询和变异解析器可以是带有 yield
的 AsyncGenerator
,也可以返回可以推迟到以后的承诺,并且你可以通过 HTTP 使用流响应,而无需使用 WebSockets。
¥This means that query and mutation resolvers can either be AsyncGenerator
s with yield
or return promises that can be deferred for later and you can use stream responses over HTTP, without using WebSockets.
我们希望你对此功能提供反馈,因此请试用它并让我们知道你对 我们的 🎏-rfc-streaming
通道 Discord 的看法!
¥We want your feedback on this feature, so please try it out and let us know what you think in the 🎏-rfc-streaming
-channel on our Discord!
👉 在 httpBatchStreamLink
文档中查看更多
¥👉 See more in the httpBatchStreamLink
docs
resolveHTTPRequest
已被使用 Fetch API 的 resolveRequest
取代(很少中断)
¥resolveHTTPRequest
has been replaced by resolveRequest
that uses Fetch APIs (rarely breaking)
函数 resolveHTTPRequest
已被使用 Fetch API 的 resolveRequest
取代 - Request
/Response
.
¥The function resolveHTTPRequest
has been replaced by resolveRequest
which uses the Fetch API - Request
/Response
.
这是 HTTP 适配器的重大更改,但不应影响你作为用户。
¥This is a breaking change for HTTP-adapters, but should not affect you as a user.
如果你正在构建适配器,请查看我们的适配器如何工作 在代码中,不要成为向我们的 Discord 寻求帮助的陌生人。
¥If you're building an adapter, check out how our adapters work in the code and don't be a stranger to ask for help in our Discord.
TRPCRequestInfo
已更新(很少发生中断)
¥TRPCRequestInfo
has been updated (rarely breaking)
现在,当过程需要时,输入会延迟实现,这意味着当 tRPC 调用 createContext
时,输入和过程类型不再可用。
¥Inputs are now materialised lazily when required by the procedure, which means the input and procedure type is no longer available when tRPC calls createContext
.
你仍然可以通过调用 info.calls[index].getRawInput()
来访问输入。
¥You can still access the input by calling info.calls[index].getRawInput()
.
所有实验性表单数据支持都已被替换(很少中断)
¥All the experimental form-data support has been replaced (rarely breaking)
这只会在你使用实验性 formdata 功能时才会对你产生影响
¥This only affects you if you used the experimental formdata features
-
experimental_formDataLink - 使用 httpLink
¥experimental_formDataLink - use httpLink
-
experimental_parseMultipartFormData - 不再需要
¥experimental_parseMultipartFormData - not needed anymore
-
experimental_isMultipartFormDataRequest - 不再需要
¥experimental_isMultipartFormDataRequest - not needed anymore
-
experimental_composeUploadHandlers - 不再需要
¥experimental_composeUploadHandlers - not needed anymore
-
experimental_createMemoryUploadHandler - 不再需要
¥experimental_createMemoryUploadHandler - not needed anymore
-
experimental_NodeOnDiskFile 和 experimental_createFileUploadHandler 的更改 - 在此第一个版本中不受支持,如果你需要将数据保存在磁盘上,请打开一个问题
¥experimental_NodeOnDiskFile and experimental_createFileUploadHandler - not supported in this first release, open an issue if you need to hold data on disk
-
experimental_contentTypeHandlers - 不再需要,但如果社区需要新数据类型,可以重新使用
¥experimental_contentTypeHandlers - not needed anymore, but could come back if needed by the community for novel data types
你可以在 examples/next-formdata
中看到新方法
¥You can see the new approach in examples/next-formdata
将 Procedure._def._output_in
/ Procedure._def._input_in
移至 Procedure._def.$types
(不会造成破坏)
¥Moved Procedure._def._output_in
/ Procedure._def._input_in
to Procedure._def.$types
(non-breaking)
这是 tRPC 内部的重大更改,但不应影响你作为用户。
¥This is a breaking change for tRPC internals, but should not affect you as a user.
你无需执行任何操作,除非你在代码中直接使用 Procedure._def._output_in
或 Procedure._def._input_in
。
¥You don't have to do anything, unless you're using Procedure._def._output_in
or Procedure._def._input_in
directly in your code.
显式内容类型检查(不会中断)
¥Explicit Content-Type checks (non-breaking)
我们现在在执行 POST 请求时对 Content-Type
标头进行了明确检查。这意味着如果你发送的请求中的 Content-Type
与预期的不匹配,你将收到 415 Unsupported Media Type
错误。
¥We now have explicit checks for the Content-Type
-header when doing POST-requests. This means that if you send a request with a Content-Type
that doesn't match the expected one, you will get a 415 Unsupported Media Type
-error.
我们的 tRPC 客户端已经发送了内容类型标头,因此只有你手动调用 tRPC 时才有可能出现重大变化。
¥Our tRPC clients already sends content-type headers, so is only a potential breaking change if you call tRPC manually.
添加对方法覆盖的支持(很少中断)
¥Added support for method overriding (rarely breaking)
允许你覆盖 HTTP 方法,以便始终使用 POST
发送过程,从而绕过一些限制,例如最大 URL 长度。
¥Allows you to override the HTTP method for procedures to always be sent with POST
in order to get around some limitations with e.g. max URL lengths.
关闭 #3910
¥Closes #3910
添加对双向无限查询的支持(无中断)
¥Added support for bi-directional infinite queries (non-breaking)
¥See useInfiniteQuery()
添加 inferProcedureBuilderResolverOptions<T>
-helper(无中断)
¥Added inferProcedureBuilderResolverOptions<T>
-helper (non-breaking)
添加一个助手来推断过程构建器解析器的选项。如果你想为不同的过程创建可重复使用的函数,这很有用。
¥Adds a helper to infer the options for a procedure builder resolver. This is useful if you want to create reusable functions for different procedures.
有关如何使用它的参考,请参阅测试 此处
¥See test here for a reference on how to use it
Transformers 已移至链接(中断) -
¥Transformers are moved to links (breaking) -
TypeScript 将指导你完成此迁移
¥TypeScript will guide you through this migration
仅适用于使用数据转换器的情况。
¥Only applies if you use data transformers.
你现在可以在 links
数组中设置数据转换器,而不是在初始化 tRPC 客户端时设置;
¥You now setup data transformers in the links
-array instead of when you initialize the tRPC-client;
如果你使用转换器,无论你有 HTTP 链接在哪里,都必须添加 transformer: superjson
:
¥Wherever you have a HTTP Link you have to add transformer: superjson
if you use transformers:
ts
httpBatchLink({url: '/api/trpc',transformer: superjson, // <-- add this});
ts
httpBatchLink({url: '/api/trpc',transformer: superjson, // <-- add this});
ts
createTRPCNext<AppRouter>({// [..]transformer: superjson, // <-- add this});
ts
createTRPCNext<AppRouter>({// [..]transformer: superjson, // <-- add this});
@trpc/next
ssr 模式现在需要带有 ssr: true
的 prepass 助手(很少发生中断)
¥@trpc/next
ssr mode now requires a prepass helper with ssr: true
(rarely breaking)
这是为了修复 https://github.com/trpc/trpc/issues/5378,其中 react-dom
被导入,无论你是否使用此功能。
¥This is to fix https://github.com/trpc/trpc/issues/5378 where react-dom
was imported regardless if you were using this functionality or not.
查看 SSR 文档
¥See SSR docs
添加对简写路由定义的支持(无中断)
¥Added support for short-hand router definitions (non-breaking)
查看 合并路由
¥See Merging routers
ts
const appRouter = router({// Shorthand plain object for creating a sub-routernested1: {proc: publicProcedure.query(() => '...'),},// Equivalent of:nested2: router({proc: publicProcedure.query(() => '...'),}),});
ts
const appRouter = router({// Shorthand plain object for creating a sub-routernested1: {proc: publicProcedure.query(() => '...'),},// Equivalent of:nested2: router({proc: publicProcedure.query(() => '...'),}),});
删除 inferHandlerInput<T>
和 ProcedureArgs<T>
(对大多数情况而言不会中断)
¥Deleted inferHandlerInput<T>
and ProcedureArgs<T>
(non-breaking for most)
如果这些类型对你或你的代码库没有任何意义,请忽略此内容
¥If these types mean nothing for you or your codebase, just ignore this
改用 inferProcedureInput<TProcedure>
和 TRPCProcedureOptions
¥Use inferProcedureInput<TProcedure>
instead & TRPCProcedureOptions
instead
添加 useSuspenseQueries()
¥Added useSuspenseQueries()
¥See useSuspenseQueries
https://github.com/trpc/trpc/pull/5226
重构内部泛型(很少发生中断)
¥Refactor internal generics (rarely breaking)
我们重构了内部泛型,使其更具可读性(TODO:链接过程构建器酱汁)
¥We have refactored our internal generics and made them more readable (TODO: link procedure builder sauce)
React 现在 >=18.2.0(很少发生中断)
¥React is now >=18.2.0 (rarely breaking)
查看其迁移指南:https://react.nodejs.cn/blog/2022/03/08/react-18-upgrade-guide
¥Check their migration guide: https://react.nodejs.cn/blog/2022/03/08/react-18-upgrade-guide
现在需要 NodeJS 18+ 和现代浏览器(很少发生中断)
¥NodeJS 18+ and Modern Browsers are now required (rarely breaking)
我们添加了 FormData、File、Blob 和 ReadableStream 的使用。现在需要 NodeJS 18,尽管这些浏览器已经支持了很多年。
¥We have added usage of FormData, File, Blob, and ReadableStream. NodeJS 18 is now required, though these have been supported by browsers for many years now.
wsLink
改进(小)
¥wsLink
improvements (minor)
-
如果服务器在部署期间切换位置,则能够在
url
回调中传递Promise
¥Ability to pass a
Promise
in theurl
-callback if servers switch location during deploys -
添加了新的
lazy
选项,使 websocket 在没有待处理请求时自动断开连接¥Added new
lazy
option that makes the websocket automatically disconnect when there are no pending requests
中间件中的 rawInput
现在是 getRawInput
(很少发生中断)
¥rawInput
in middleware is now a getRawInput
(rarely breaking)
虽然我们内部没有做任何不同的事情(目前),但这有助于支持 tRPC 中一个非常需要的功能:JSON 以外的内容类型。
¥While we're not doing anything differently internally (just yet) this is help support a much requested feature in tRPC: content types other than JSON.
简化类型和 .d.ts
输出
¥Simplified types and .d.ts
outputs
路由中的程序现在仅发出其输入和输出 - 之前它们还会包含每个程序的完整上下文对象,从而导致不必要的复杂性,例如 .d.ts
。
¥Procedures in your router now only emit their input & output - where before they would also contain the full context object for every procedure, leading to unnecessary complexity in e.g. .d.ts
.
React Query peerDep 现在是 v5(中断) -
¥React Query peerDep is now v5 (breaking) -
你需要做的主要事情是将一堆
isLoading
替换为isPending
¥The main thing you'll need to do is to replace a bunch of
isLoading
toisPending
查看其迁移指南:https://tanstack.com/query/v5/docs/framework/react/guides/migrating-to-v5
¥Check their migration guide: https://tanstack.com/query/v5/docs/framework/react/guides/migrating-to-v5
导出名称 AbcProxyXyz
已重命名为 AbcXyz
(不会中断)
¥Exports names AbcProxyXyz
has been renamed to AbcXyz
(non-breaking)
代理名称归因于 v9 使用 AbcXyz
名称,这些名称已被删除,代理名称已重命名为非代理名称,例如:
¥The proxy names were due to v9 using the AbcXyz
names, these have been removed and the proxy ones have been renamed to the non-proxy names, e.g:
-
createTRPCClient
从 v9 开始已弃用,现已完全删除。createTRPCProxyClient
已重命名为createTRPCClient
。createTRPCProxyClient
现已标记为弃用。¥
createTRPCClient
was deprecated from v9, and is now completely removed. ThecreateTRPCProxyClient
has been renamed tocreateTRPCClient
instead.createTRPCProxyClient
is now marked as deprecated.
SSG 助手(很少发生中断)
¥SSG Helpers (rarely breaking)
-
createSSGHelpers
适用于 v9,现已删除。v10 等效createProxySSGHelpers
现在已重命名为createSSGHelpers
。¥
createSSGHelpers
were for v9 which has now been removed. the v10 equivalentcreateProxySSGHelpers
have been renamed tocreateSSGHelpers
now instead. -
createProxySSGHelpers
现已弃用,但别名为createSSGHelpers
以实现向后兼容。¥
createProxySSGHelpers
is now deprecated but aliased tocreateSSGHelpers
for backwards compatibility. -
删除导出的类型
CreateSSGHelpersOptions
¥Removed exported type
CreateSSGHelpersOptions
interop
模式已被删除(很少发生中断) -
¥interop
-mode has been removed (rarely breaking) -
我们从 tRPC 中删除了 interop
模式。这种模式可让你轻松地从 v9 过渡到 v10。这种模式从未打算长期支持,我们现在已经将其删除。
¥We have removed the interop
-mode from tRPC. This was a mode that allowed you to have an easy transition period from v9 to v10. This mode was never meant to be supported long-term and we have now removed it.