Separazione dei context per limitare i re-render
Separi i valori che cambiano frequentemente da quelli stabili, inserendoli in context diversi.
Separazione dei context per limitare i re-render è una lezione React Academy gratuita su CoddyKit. Questa è la lezione 1 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
Il problema dei nuovi rendering con Context
Suddividere in base alla frequenza di aggiornamento
const ThemeCtx = createContext('light');
const UserCtx = createContext(null);
// theme changes rarely; user changes on login/logout — same frequency is fine
// but notifCount changes every second — split it out!Separare i context dei dati e del dispatch
const CountCtx = createContext(0);
const SetCountCtx = createContext(() => {});
function Provider({ children }) {
const [count, setCount] = useState(0);
return (
<CountCtx.Provider value={count}>
<SetCountCtx.Provider value={setCount}>
{children}
</SetCountCtx.Provider>
</CountCtx.Provider>
);
}Memoizzare il context del dispatch
const actions = useMemo(() => ({
increment: () => setCount(c => c + 1),
reset: () => setCount(0),
}), []); // stable — empty depsProvider annidati
function App() {
return (
<AuthProvider>
<ThemeProvider>
<NotificationsProvider>
<Router />
</NotificationsProvider>
</ThemeProvider>
</AuthProvider>
);
}Profilare prima di suddividere
Compromessi della suddivisione dei context
Combinare con React.memo
const ExpensiveChild = React.memo(function({ label }) {
return <div>{label}</div>;
}); // won't re-render on context change if label hasn't changeduseReducer + Context
Verifica rapida
Riepilogo
Prossimo argomento
Domande Frequenti
La lezione «Separazione dei context per limitare i re-render» è gratuita?
Sì — il testo completo di «Separazione dei context per limitare i re-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 «Separazione dei context per limitare i re-render»?
Separi i valori che cambiano frequentemente da quelli stabili, inserendoli in context diversi. 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 1 di 4.
Quanto tempo richiede la lezione «Separazione dei context per limitare i re-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
- Separazione dei context per limitare i re-render
- Memoizzazione dei valori del context con useMemo
- Pattern dei context selector
- Quando non usare il context