From a1ddcf51a08cc161182b90a24b409ba11289f73e Mon Sep 17 00:00:00 2001 From: Ricky Date: Fri, 16 Jan 2026 13:27:58 -0500 Subject: [PATCH 1/2] Add caveat to useId for cache keys (#8242) --- src/content/reference/react/useId.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/content/reference/react/useId.md b/src/content/reference/react/useId.md index a77cf7a723..44a11b20d3 100644 --- a/src/content/reference/react/useId.md +++ b/src/content/reference/react/useId.md @@ -44,6 +44,8 @@ function PasswordField() { * `useId` is a Hook, so you can only call it **at the top level of your component** or your own Hooks. You can't call it inside loops or conditions. If you need that, extract a new component and move the state into it. +* `useId` **should not be used to generate cache keys** for [use()](/reference/react/use). The ID is stable when a component is mounted but may change during rendering. Cache keys should be generated from your data. + * `useId` **should not be used to generate keys** in a list. [Keys should be generated from your data.](/learn/rendering-lists#where-to-get-your-key) * `useId` currently cannot be used in [async Server Components](/reference/rsc/server-components#async-components-with-server-components). From 24cccbff0f8e0213d295beb9e2a682e6cb5a5820 Mon Sep 17 00:00:00 2001 From: Xleine Date: Mon, 19 Jan 2026 21:05:07 +0800 Subject: [PATCH 2/2] fix conflict --- src/content/reference/react/useId.md | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/src/content/reference/react/useId.md b/src/content/reference/react/useId.md index 1dd4aa2a6b..660bc99625 100644 --- a/src/content/reference/react/useId.md +++ b/src/content/reference/react/useId.md @@ -44,13 +44,9 @@ function PasswordField() { * `useId` 是一个 Hook,因此你只能 **在组件的顶层** 或自己的 Hook 中调用它。你不能在内部循环或条件判断中调用它。如果需要,可以提取一个新组件并将 state 移到该组件中。 -<<<<<<< HEAD -* `useId` **不应该被用来生成列表中的 key**。[key 应该由你的数据生成](/learn/rendering-lists#where-to-get-your-key)。 -======= -* `useId` **should not be used to generate cache keys** for [use()](/reference/react/use). The ID is stable when a component is mounted but may change during rendering. Cache keys should be generated from your data. +* `useId` **不应该被用来为 [use()](/reference/react/use) 生成缓存键**。这个 ID 在组件挂载的时候是稳定的,但是在后续的渲染过程中可能会发生变化。缓存键应该由你的数据中生成。 -* `useId` **should not be used to generate keys** in a list. [Keys should be generated from your data.](/learn/rendering-lists#where-to-get-your-key) ->>>>>>> a1ddcf51a08cc161182b90a24b409ba11289f73e +* `useId` **不应该被用来生成列表中的 key**。[key 应该由你的数据生成](/learn/rendering-lists#where-to-get-your-key)。 * `useId` 当前无法在 [异步服务器组件](/reference/rsc/server-components#async-components-with-server-components) 中使用。