Componenti puri ed evitare effetti collaterali nel render
Scrivere funzioni di render prive di mutazioni e letture esterne.
Componenti puri ed evitare effetti collaterali nel render è una lezione React Academy gratuita su CoddyKit. Questa è la lezione 2 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento React Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso React Academy include 4 lezioni in totale.
Benvenuto
Che cos'è una funzione pura?
Perché la purezza è importante in React
Impurità comune: modificare lo stato esterno
let totalRenders = 0; // external
function Counter() {
totalRenders++; // BAD: side effect in render
return <p>{totalRenders}</p>;
}Impurità comune: modificare le props
// Bad
function Badge({ user }) {
user.name = user.name.toUpperCase(); // mutates prop!
return <p>{user.name}</p>;
}
// Good
function Badge({ user }) {
const displayName = user.name.toUpperCase();
return <p>{displayName}</p>;
}Impurità comune: usare valori casuali o date durante il rendering
// Bad
function Token() {
const id = Math.random(); // different every render!
return <p>{id}</p>;
}
// Good
function Token() {
const [id] = useState(() => Math.random());
return <p>{id}</p>;
}Le chiamate API appartengono a useEffect
// Bad
function Profile({ id }) {
fetch('/api/user/' + id); // runs on every render!
return <div />;
}
// Good
useEffect(() => {
fetch('/api/user/' + id).then(/*...*/);
}, [id]);Le modifiche locali sono corrette
function List({ items }) {
const sorted = [...items]; // new array
sorted.sort(); // mutating a local copy: OK
return sorted.map(i => <li key={i}>{i}</li>);
}Usare StrictMode per trovare le impurità
Componenti puri e React.memo
const Pure = React.memo(function Pure({ value }) {
return <p>{value}</p>;
});Verifica rapida
Riepilogo
Prossimo argomento
Domande Frequenti
La lezione «Componenti puri ed evitare effetti collaterali nel render» è gratuita?
Sì — il testo completo di «Componenti puri ed evitare effetti collaterali nel render» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso React Academy, passa a CoddyKit PRO. Il corso React Academy include 4 lezioni in totale.
Cosa imparerò in «Componenti puri ed evitare effetti collaterali nel render»?
Scrivere funzioni di render prive di mutazioni e letture esterne. Eserciti React Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare React Academy?
Non è richiesta alcuna esperienza precedente. React Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 2 di 4.
Quanto tempo richiede la lezione «Componenti puri ed evitare effetti collaterali nel render»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione React Academy?
Sì. Ogni lezione React Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Cosa fa StrictMode
- Componenti puri ed evitare effetti collaterali nel render
- Best practice per key e ref
- Struttura delle cartelle e convenzioni di denominazione