Memoisere kontekstverdier med useMemo
Pakk kontekstverdiobjekter inn i useMemo, slik at forbrukere ikke rendres på nytt unødvendig.
Memoisere kontekstverdier med useMemo er en gratis leksjon i React Academy på CoddyKit. Dette er leksjon 2 av 4. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i React Academy, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i React Academy inneholder totalt 4 leksjoner.
Velkommen
Problemet med objektreferanser
// Every render creates a new object!
<UserCtx.Provider value={{ user, logout }}>
{children}
</UserCtx.Provider>Løse problemet med useMemo
const value = useMemo(
() => ({ user, logout }),
[user, logout]
);
<UserCtx.Provider value={value}>
{children}
</UserCtx.Provider>Velge avhengigheter nøye
Stabile funksjoner med useCallback
const logout = useCallback(() => {
clearSession();
setUser(null);
}, []);
const value = useMemo(() => ({ user, logout }), [user, logout]);Når memoisering er unødvendig
Primitive verdier er allerede stabile
// No useMemo needed for primitives
<ThemeCtx.Provider value={isDark ? 'dark' : 'light'}>
{children}
</ThemeCtx.Provider>Profilere effekten av memoisering
Nøstede memorerte kontekster
Mønsteret med Provider-komponenten
export function UserProvider({ children }) {
const [user, setUser] = useState(null);
const logout = useCallback(() => setUser(null), []);
const value = useMemo(() => ({ user, logout }), [user, logout]);
return <UserCtx.Provider value={value}>{children}</UserCtx.Provider>;
}
export const useUser = () => useContext(UserCtx);Kort kontroll
Oppsummering
Neste steg
Lær deg React med en AI-veileder – gratis
Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.
- Kurs
- 88
- Leksjoner
- 324
Ofte stilte spørsmål
Er leksjonen «Memoisere kontekstverdier med useMemo» gratis?
Ja – hele teksten i «Memoisere kontekstverdier med useMemo» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av React Academy-kurset, kan du oppgradere til CoddyKit PRO. Kurset i React Academy inneholder totalt 4 leksjoner.
Hva lærer jeg i «Memoisere kontekstverdier med useMemo»?
Pakk kontekstverdiobjekter inn i useMemo, slik at forbrukere ikke rendres på nytt unødvendig. Du øver på React Academy med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.
Trenger jeg erfaring for å begynne med React Academy?
Ingen tidligere erfaring er nødvendig. React Academy på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 2 av 4.
Hvor lang tid tar leksjonen «Memoisere kontekstverdier med useMemo»?
De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.
Kan jeg skrive og kjøre kode i denne React Academy-leksjonen?
Ja. Alle React Academy-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.
Alle leksjonene i dette kurset
- Dele opp kontekster for å begrense nye rendringer
- Memoisere kontekstverdier med useMemo
- Mønsteret Context Selector
- Når du ikke bør bruke Context