Selector e prevenzione dei re-render non necessari
Estragga porzioni specifiche dello stato tramite selector, così i componenti eseguono il re-render solo quando necessario.
Selector e prevenzione dei re-render non necessari è 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.
Benvenuti
Il problema del selettore predefinito
// Bad: re-renders on every store change
const store = useAppStore();
return <p>{store.user.name}</p>;Utilizzo di un selettore
// Good: re-renders only when user.name changes
const name = useAppStore(s => s.user.name);
return <p>{name}</p>;Controllo dell'uguaglianza dei riferimenti
// Creates a new object every time — always re-renders!
const info = useStore(s => ({ id: s.id, name: s.name }));Correzione con l'uguaglianza shallow
import { shallow } from 'zustand/shallow';
const info = useAppStore(
s => ({ id: s.id, name: s.name }),
shallow // compare by content, not reference
);Selezione di più valori
const { items, loading } = useCartStore(
s => ({ items: s.items, loading: s.loading }),
shallow
);Riferimenti stabili alle azioni
// Actions are always stable — no shallow needed
const addToCart = useCartStore(s => s.addToCart);Helper useShallow (Zustand v5+)
import { useShallow } from 'zustand/react/shallow';
const { items, loading } = useCartStore(
useShallow(s => ({ items: s.items, loading: s.loading }))
);Combinazione dei selettori
const totalPrice = useCartStore(
s => s.items.reduce((sum, item) => sum + item.price, 0)
);Profilazione dei rendering di Zustand
Verifica rapida
Riepilogo
Prossima lezione
Domande Frequenti
La lezione «Selector e prevenzione dei re-render non necessari» è gratuita?
Sì — il testo completo di «Selector e prevenzione dei re-render non necessari» è 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 «Selector e prevenzione dei re-render non necessari»?
Estragga porzioni specifiche dello stato tramite selector, così i componenti eseguono il re-render solo quando necessario. 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 «Selector e prevenzione dei re-render non necessari»?
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
- Creazione del primo store Zustand
- Selector e prevenzione dei re-render non necessari
- Persistenza dello stato con il middleware persist
- DevTools di Zustand e test degli store