Skip to content

Commit f683b29

Browse files
committed
fix(reference): address review for useId (PR #644)
Signed-off-by: Alessandro De Blasis <alex@deblasis.net>
1 parent 528eb1a commit f683b29

1 file changed

Lines changed: 8 additions & 8 deletions

File tree

‎src/content/reference/react/useId.md‎

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -49,13 +49,13 @@ function PasswordField() {
4949
5050
#### Caveats {/*caveats*/}
5151
52-
* `useId` è un Hook, quindi puoi chiamarlo **solo al top level del tuo componente** o dei tuoi Hooks personalizzati. Non puoi chiamarlo all'interno di loop o condizioni. Se ne hai bisogno, estrai un nuovo componente e sposta lo state al suo interno.
52+
* `useId` è un Hook, quindi puoi chiamarlo **solo al top level del tuo componente** o dei tuoi Hook personalizzati. Non puoi chiamarlo all'interno di loop o condizioni. Se ne hai bisogno, estrai un nuovo componente e sposta lo state al suo interno.
5353
54-
* `useId` **non dovrebbe essere usato per generare chiavi di cache** per [`use()`.](/reference/react/use) L'ID è stabile quando un componente è montato, ma potrebbe cambiare durante la renderizzazione. Le chiavi di cache dovrebbero essere generate dai tuoi dati.
54+
* `useId` **non dovrebbe essere usato per generare chiavi di cache** per [use()](/reference/react/use) L'ID è stabile quando un componente è montato, ma potrebbe cambiare durante la renderizzazione. Le chiavi di cache dovrebbero essere generate dai tuoi dati.
5555
5656
* `useId` **non dovrebbe essere usato per generare le key** in una lista. [Le key dovrebbero essere generate dai tuoi dati.](/learn/rendering-lists#where-to-get-your-key)
5757
58-
* `useId` al momento non può essere usato nei [Server Component asincroni.](/reference/rsc/server-components#async-components-with-server-components)
58+
* `useId` al momento non può essere usato negli [async Server Components](/reference/rsc/server-components#async-components-with-server-components).
5959
6060
---
6161
@@ -103,7 +103,7 @@ In HTML classico, lo scriveresti così:
103103
/>
104104
</label>
105105
<p id="password-hint">
106-
The password should contain at least 18 characters
106+
La password deve contenere almeno 18 caratteri
107107
</p>
108108
```
109109
@@ -178,7 +178,7 @@ input { margin: 5px; }
178178
179179
<Pitfall>
180180
181-
Con il [rendering lato server,](/reference/react-dom/server) **`useId` richiede un albero di componenti identico sul server e sul client**. Se gli alberi che renderizzi sul server e sul client non corrispondono esattamente, gli ID generati non corrisponderanno.
181+
Con la [renderizzazione lato server](/reference/react-dom/server) **`useId` richiede un albero di componenti identico sul server e sul client**. Se gli alberi che renderizzi sul server e sul client non corrispondono esattamente, gli ID generati non corrisponderanno.
182182
183183
</Pitfall>
184184
@@ -188,7 +188,7 @@ Con il [rendering lato server,](/reference/react-dom/server) **`useId` richiede
188188
189189
Potresti chiederti perché `useId` è migliore di incrementare una variabile globale come `nextId++`.
190190
191-
Il vantaggio principale di `useId` è che React garantisce che funzioni con il [rendering lato server.](/reference/react-dom/server) Durante il rendering lato server, i tuoi componenti generano output HTML. In seguito, sul client, l'[hydration](/reference/react-dom/client/hydrateRoot) collega i tuoi gestori di eventi all'HTML generato. Affinché l'hydration funzioni, l'output del client deve corrispondere all'HTML del server.
191+
Il vantaggio principale di `useId` è che React garantisce che funzioni con la [renderizzazione lato server](/reference/react-dom/server). Durante la renderizzazione lato server, i tuoi componenti generano output HTML. In seguito, sul client, l'[hydration](/reference/react-dom/client/hydrateRoot) collega i tuoi gestori di eventi all'HTML generato. Affinché l'hydration funzioni, l'output del client deve corrispondere all'HTML del server.
192192
193193
È molto difficile garantirlo con un contatore incrementale, perché l'ordine in cui i Client Component vengono idratati potrebbe non corrispondere all'ordine in cui l'HTML del server è stato emesso. Chiamando `useId`, ti assicuri che l'hydration funzioni e che l'output corrisponda tra server e client.
194194
@@ -233,7 +233,7 @@ Questo ti permette di evitare di chiamare `useId` per ogni singolo elemento che
233233
234234
### Specificare un prefisso condiviso per tutti gli ID generati {/*specifying-a-shared-prefix-for-all-generated-ids*/}
235235
236-
Se renderizzi più applicazioni React indipendenti su una singola pagina, passa `identifierPrefix` come opzione alle tue chiamate a [`createRoot`](/reference/react-dom/client/createRoot#parameters) o [`hydrateRoot`.](/reference/react-dom/client/hydrateRoot) Questo garantisce che gli ID generati dalle due app diverse non entrino mai in conflitto, perché ogni identificatore generato con `useId` inizierà con il prefisso distinto che hai specificato.
236+
Se renderizzi più applicazioni React indipendenti su una singola pagina, passa `identifierPrefix` come opzione alle tue chiamate a [`createRoot`](/reference/react-dom/client/createRoot#parameters) o [`hydrateRoot`](/reference/react-dom/client/hydrateRoot) Questo garantisce che gli ID generati dalle due app diverse non entrino mai in conflitto, perché ogni identificatore generato con `useId` inizierà con il prefisso distinto che hai specificato.
237237
238238
<Sandpack>
239239
@@ -318,7 +318,7 @@ input { margin: 5px; }
318318
319319
### Usare lo stesso prefisso ID sul client e sul server {/*using-the-same-id-prefix-on-the-client-and-the-server*/}
320320
321-
Se [renderizzi più applicazioni React indipendenti sulla stessa pagina](#specifying-a-shared-prefix-for-all-generated-ids) e alcune di queste app sono renderizzate lato server, assicurati che l'`identifierPrefix` che passi alla chiamata a [`hydrateRoot`](/reference/react-dom/client/hydrateRoot) sul client sia lo stesso `identifierPrefix` che passi alle [API del server](/reference/react-dom/server) come [`renderToPipeableStream`.](/reference/react-dom/server/renderToPipeableStream)
321+
Se [renderizzi più applicazioni React indipendenti sulla stessa pagina](#specifying-a-shared-prefix-for-all-generated-ids) e alcune di queste app sono renderizzate lato server, assicurati che l'`identifierPrefix` che passi alla chiamata a [`hydrateRoot`](/reference/react-dom/client/hydrateRoot) sul client sia lo stesso `identifierPrefix` che passi alle [API del server](/reference/react-dom/server) come [`renderToPipeableStream`](/reference/react-dom/server/renderToPipeableStream)
322322
323323
```js
324324
// Server

0 commit comments

Comments
 (0)