You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix(warnings): align Hook terminology and heading structure
Normalize Hook/Hooks per glossary, use livello superiore, and restore
upstream warning heading order for deprecation pages.
Signed-off-by: Alessandro De Blasis <alex@deblasis.net>
Co-authored-by: Cursor <cursoragent@cursor.com>
Copy file name to clipboardExpand all lines: src/content/warnings/invalid-hook-call-warning.md
+18-18Lines changed: 18 additions & 18 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,5 @@
1
1
---
2
-
title: Regole degli Hooks
2
+
title: Regole degli Hook
3
3
translationStatus: ai-draft
4
4
---
5
5
@@ -19,42 +19,42 @@ Hooks can only be called inside the body of a function component.
19
19
20
20
Ci sono tre motivi comuni per cui potresti vederlo:
21
21
22
-
1. Potresti **violare le Regole degli Hooks**.
22
+
1. Potresti **violare le Regole degli Hook**.
23
23
2. Potresti avere **versioni non corrispondenti** di React e React DOM.
24
24
3. Potresti avere **più di una copia di React** nella stessa app.
25
25
26
26
Vediamo ciascuno di questi casi.
27
27
28
-
## Violare le Regole degli Hooks {/*breaking-rules-of-hooks*/}
28
+
## Violare le Regole degli Hook {/*breaking-rules-of-hooks*/}
29
29
30
-
Le funzioni il cui nome inizia con `use` sono chiamate [*Hooks*](/reference/react) in React.
30
+
Le funzioni il cui nome inizia con `use` sono chiamate [*Hook*](/reference/react) in React.
31
31
32
-
**Non chiamare gli Hooks dentro loop, condizioni o funzioni annidate.** Usa invece sempre gli Hooks al top level della tua funzione React, prima di qualsiasi return anticipato. Puoi chiamare gli Hooks solo mentre React sta renderizzando un componente funzione:
32
+
**Non chiamare gli Hook dentro loop, condizioni o funzioni annidate.** Usa invece sempre gli Hook al livello superiore della tua funzione React, prima di qualsiasi return anticipato. Puoi chiamare gli Hook solo mentre React sta renderizzando un componente funzione:
33
33
34
-
* ✅ Chiamali al top level nel corpo di un [componente funzione](/learn/your-first-component).
35
-
* ✅ Chiamali al top level nel corpo di un [custom Hook](/learn/reusing-logic-with-custom-hooks).
34
+
* ✅ Chiamali al livello superiore nel corpo di un [componente funzione](/learn/your-first-component).
35
+
* ✅ Chiamali al livello superiore nel corpo di un [custom Hook](/learn/reusing-logic-with-custom-hooks).
36
36
37
37
```js{2-3,8-9}
38
38
function Counter() {
39
-
// ✅ Corretto: top level in un componente funzione
39
+
// ✅ Corretto: livello superiore in un componente funzione
40
40
const [count, setCount] = useState(0);
41
41
// ...
42
42
}
43
43
44
44
function useWindowWidth() {
45
-
// ✅ Corretto: top level in un custom Hook
45
+
// ✅ Corretto: livello superiore in un custom Hook
**Non** è supportato chiamare gli Hooks (funzioni che iniziano con `use`) in nessun altro caso, ad esempio:
51
+
**Non** è supportato chiamare gli Hook (funzioni che iniziano con `use`) in nessun altro caso, ad esempio:
52
52
53
-
* 🔴 Non chiamare gli Hooks dentro condizioni o loop.
54
-
* 🔴 Non chiamare gli Hooks dopo un'istruzione `return` condizionale.
55
-
* 🔴 Non chiamare gli Hooks nei gestori di eventi.
56
-
* 🔴 Non chiamare gli Hooks nei componenti classe.
57
-
* 🔴 Non chiamare gli Hooks dentro funzioni passate a `useMemo`, `useReducer` o `useEffect`.
53
+
* 🔴 Non chiamare gli Hook dentro condizioni o loop.
54
+
* 🔴 Non chiamare gli Hook dopo un'istruzione `return` condizionale.
55
+
* 🔴 Non chiamare gli Hook nei gestori di eventi.
56
+
* 🔴 Non chiamare gli Hook nei componenti classe.
57
+
* 🔴 Non chiamare gli Hook dentro funzioni passate a `useMemo`, `useReducer` o `useEffect`.
58
58
59
59
Se violi queste regole, potresti vedere questo errore.
60
60
@@ -114,17 +114,17 @@ Puoi usare il plugin [`eslint-plugin-react-hooks`](https://www.npmjs.com/package
114
114
115
115
<Note>
116
116
117
-
I [custom Hook](/learn/reusing-logic-with-custom-hooks)*possono* chiamare altri Hooks (è proprio il loro scopo). Funziona perché anche i custom Hook dovrebbero essere chiamati solo mentre un componente funzione viene renderizzato.
117
+
I [custom Hook](/learn/reusing-logic-with-custom-hooks)*possono* chiamare altri Hook (è proprio il loro scopo). Funziona perché anche i custom Hook dovrebbero essere chiamati solo mentre un componente funzione viene renderizzato.
118
118
119
119
</Note>
120
120
121
121
## Versioni non corrispondenti di React e React DOM {/*mismatching-versions-of-react-and-react-dom*/}
122
122
123
-
Potresti usare una versione di `react-dom` (< 16.8.0) o `react-native` (< 0.59) che non supporta ancora gli Hooks. Puoi eseguire `npm ls react-dom` o `npm ls react-native` nella cartella della tua applicazione per verificare quale versione stai usando. Se ne trovi più di una, questo potrebbe creare problemi (ne parliamo di più sotto).
123
+
Potresti usare una versione di `react-dom` (< 16.8.0) o `react-native` (< 0.59) che non supporta ancora gli Hook. Puoi eseguire `npm ls react-dom` o `npm ls react-native` nella cartella della tua applicazione per verificare quale versione stai usando. Se ne trovi più di una, questo potrebbe creare problemi (ne parliamo di più sotto).
124
124
125
125
## React duplicato {/*duplicate-react*/}
126
126
127
-
Affinché gli Hooks funzionino, l'import di `react` dal codice della tua applicazione deve risolvere lo stesso modulo dell'import di `react` dall'interno del pacchetto `react-dom`.
127
+
Affinché gli Hook funzionino, l'import di `react` dal codice della tua applicazione deve risolvere lo stesso modulo dell'import di `react` dall'interno del pacchetto `react-dom`.
128
128
129
129
Se questi import di `react` risolvono due oggetti export diversi, vedrai questo warning. Questo può succedere se **finisci accidentalmente con due copie** del pacchetto `react`.
react-test-renderer è deprecato. Un warning viene mostrato ogni volta che chiami `ReactTestRenderer.create()` o `ReactShallowRender.render()`. Il pacchetto react-test-renderer resterà disponibile su NPM ma non sarà mantenuto e potrebbe rompersi con nuove funzionalità di React o modifiche agli internals di React.
15
15
16
16
Il team React consiglia di migrare i tuoi test a [@testing-library/react](https://testing-library.com/docs/react-testing-library/intro/) o [@testing-library/react-native](https://callstack.github.io/react-native-testing-library/docs/start/intro) per un'esperienza di testing moderna e ben supportata.
17
17
18
18
19
-
## Warning new ShallowRenderer() {/*new-shallowrenderer-warning*/}
19
+
## new ShallowRenderer() warning {/*new-shallowrenderer-warning*/}
20
20
21
21
Il pacchetto react-test-renderer non esporta più uno shallow renderer in `react-test-renderer/shallow`. Era semplicemente un reimpacchettamento di un pacchetto separato estratto in precedenza: `react-shallow-renderer`. Puoi quindi continuare a usare lo shallow renderer nello stesso modo installandolo direttamente. Vedi [Github](https://github.com/enzymejs/react-shallow-renderer) / [NPM](https://www.npmjs.com/package/react-shallow-renderer).
0 commit comments