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
Copy file name to clipboardExpand all lines: src/content/reference/react/PureComponent.md
+27-20Lines changed: 27 additions & 20 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,16 +1,23 @@
1
1
---
2
2
title: PureComponent
3
+
translationStatus: ai-draft
3
4
---
4
5
6
+
<Note>
7
+
8
+
Questa pagina è stata tradotta automaticamente e supervisionata da un maintainer. Un'ulteriore revisione da parte della community sarebbe comunque utile. [Migliora questa traduzione](https://github.com/reactjs/it.react.dev/edit/main/src/content/reference/react/PureComponent.md).
9
+
10
+
</Note>
11
+
5
12
<Pitfall>
6
13
7
-
We recommend defining components as functions instead of classes. [See how to migrate.](#alternatives)
14
+
Consigliamo di definire i componenti come funzioni invece che come classi. [Vedi come migrare.](#alternatives)
8
15
9
16
</Pitfall>
10
17
11
18
<Intro>
12
19
13
-
`PureComponent`is similar to[`Component`](/reference/react/Component)but it skips re-renders for same props and state. Class components are still supported by React, but we don't recommend using them in new code.
20
+
`PureComponent`è simile a[`Component`](/reference/react/Component)ma salta le ri-renderizzazioni quando props e state sono gli stessi. I componenti classe sono ancora supportati da React, ma non consigliamo di usarli nel codice nuovo.
14
21
15
22
```js
16
23
classGreetingextendsPureComponent {
@@ -30,7 +37,7 @@ class Greeting extends PureComponent {
30
37
31
38
### `PureComponent` {/*purecomponent*/}
32
39
33
-
To skip re-rendering a class component for same props and state, extend`PureComponent`instead of[`Component`:](/reference/react/Component)
40
+
Per saltare la ri-renderizzazione di un componente classe quando props e state sono gli stessi, estendi`PureComponent`invece di[`Component`:](/reference/react/Component)
34
41
35
42
```js
36
43
import { PureComponent } from'react';
@@ -42,18 +49,18 @@ class Greeting extends PureComponent {
42
49
}
43
50
```
44
51
45
-
`PureComponent`is a subclass of`Component`and supports [all the `Component` APIs.](/reference/react/Component#reference)Extending`PureComponent`is equivalent to defining a custom [`shouldComponentUpdate`](/reference/react/Component#shouldcomponentupdate)method that shallowly compares props and state.
52
+
`PureComponent`è una sottoclasse di`Component`e supporta [tutte le API di `Component`.](/reference/react/Component#reference)Estendere`PureComponent`equivale a definire un metodo [`shouldComponentUpdate`](/reference/react/Component#shouldcomponentupdate)personalizzato che confronta superficialmente props e state.
46
53
47
54
48
-
[See more examples below.](#usage)
55
+
[Vedi altri esempi sotto.](#usage)
49
56
50
57
---
51
58
52
59
## Usage {/*usage*/}
53
60
54
-
### Skipping unnecessary re-renders for class components {/*skipping-unnecessary-re-renders-for-class-components*/}
61
+
### Saltare ri-renderizzazioni non necessarie per i componenti classe {/*skipping-unnecessary-re-renders-for-class-components*/}
55
62
56
-
React normally re-renders a component whenever its parent re-renders. As an optimization, you can create a component that React will not re-render when its parent re-renders so long as its new props and state are the same as the old props and state. [Class components](/reference/react/Component)can opt into this behavior by extending`PureComponent`:
63
+
Di norma React ri-renderizza un componente ogni volta che il genitore viene ri-renderizzato. Come ottimizzazione, puoi creare un componente che React non ri-renderizzerà quando il genitore viene ri-renderizzato, purché le nuove props e lo state siano uguali alle vecchie props e allo state precedente. I [componenti classe](/reference/react/Component)possono adottare questo comportamento estendendo`PureComponent`:
57
64
58
65
```js {1}
59
66
classGreetingextendsPureComponent {
@@ -63,9 +70,9 @@ class Greeting extends PureComponent {
63
70
}
64
71
```
65
72
66
-
A React component should always have [pure rendering logic.](/learn/keeping-components-pure)This means that it must return the same output if its props, state, and context haven't changed. By using `PureComponent`, you are telling React that your component complies with this requirement, so React doesn't need to re-render as long as its props and state haven't changed. However, your component will still re-render if a context that it's using changes.
73
+
Un componente React dovrebbe sempre avere [logica di renderizzazione pura.](/learn/keeping-components-pure)Ciò significa che deve restituire lo stesso output se props, state e context non sono cambiati. Usando `PureComponent`, stai dicendo a React che il tuo componente rispetta questo requisito, quindi React non ha bisogno di ri-renderizzarlo finché props e state non sono cambiati. Tuttavia, il tuo componente verrà comunque ri-renderizzato se cambia un context che sta usando.
67
74
68
-
In this example, notice that the `Greeting`component re-renders whenever `name`is changed (because that's one of its props), but not when `address`is changed (because it's not passed to`Greeting`as a prop):
75
+
In questo esempio, nota che il componente `Greeting`viene ri-renderizzato ogni volta che cambia `name`(perché è una delle sue props), ma non quando cambia `address`(perché non viene passato a`Greeting`come prop):
69
76
70
77
<Sandpack>
71
78
@@ -85,11 +92,11 @@ export default function MyApp() {
We recommend defining components as functions instead of classes. [See how to migrate.](#alternatives)
119
+
Consigliamo di definire i componenti come funzioni invece che come classi. [Vedi come migrare.](#alternatives)
113
120
114
121
</Pitfall>
115
122
116
123
---
117
124
118
125
## Alternatives {/*alternatives*/}
119
126
120
-
### Migrating from a `PureComponent`class component to a function {/*migrating-from-a-purecomponent-class-component-to-a-function*/}
127
+
### Migrare da un componente classe `PureComponent`a una funzione {/*migrating-from-a-purecomponent-class-component-to-a-function*/}
121
128
122
-
We recommend using function components instead of [class components](/reference/react/Component) in new code. If you have some existing class components using `PureComponent`, here is how you can convert them. This is the original code:
129
+
Nel codice nuovo consigliamo di usare componenti funzione al posto dei [componenti classe](/reference/react/Component). Se hai componenti classe esistenti che usano `PureComponent`, ecco come convertirli. Questo è il codice originale:
123
130
124
131
<Sandpack>
125
132
@@ -139,11 +146,11 @@ export default function MyApp() {
Unlike `PureComponent`, [`memo`](/reference/react/memo)does not compare the new and the old state. In function components, calling the [`set` function](/reference/react/useState#setstate)with the same state [already prevents re-renders by default,](/reference/react/memo#updating-a-memoized-component-using-state)even without`memo`.
213
+
A differenza di `PureComponent`, [`memo`](/reference/react/memo)non confronta il nuovo e il vecchio state. Nei componenti funzione, chiamare una [funzione `set`](/reference/react/useState#setstate)con lo stesso state [previene già di default la ri-renderizzazione,](/reference/react/memo#updating-a-memoized-component-using-state)anche senza`memo`.
0 commit comments