Contextien jakaminen uudelleenrenderöintien rajoittamiseksi
Erottakaa usein muuttuvat arvot vakaista arvoista sijoittamalla ne eri contexteihin.
Contextien jakaminen uudelleenrenderöintien rajoittamiseksi on ilmainen React Academy-oppitunti CoddyKitissä. Tämä on oppitunti 1/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu React Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. React Academy-kurssilla on yhteensä 4 oppituntia.
Tervetuloa
Contextin uudelleenrenderöintiongelma
Jakaminen päivitystiheyden mukaan
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!Data- ja dispatch-kontekstien erottaminen
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>
);
}Dispatch-kontekstin memoisoiminen
const actions = useMemo(() => ({
increment: () => setCount(c => c + 1),
reset: () => setCount(0),
}), []); // stable — empty depsSisäkkäiset providerit
function App() {
return (
<AuthProvider>
<ThemeProvider>
<NotificationsProvider>
<Router />
</NotificationsProvider>
</ThemeProvider>
</AuthProvider>
);
}Profilointi ennen jakamista
Kontekstien jakamisen kompromissit
Yhdistäminen React.memon kanssa
const ExpensiveChild = React.memo(function({ label }) {
return <div>{label}</div>;
}); // won't re-render on context change if label hasn't changeduseReducer + Context
Pikatarkistus
Kertaus
Seuraavaksi
Opi React tekoälytuutorin avulla — ilmaiseksi
Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.
- Kurssit
- 88
- Oppitunnit
- 324
Usein kysytyt kysymykset
Onko oppitunti ”Contextien jakaminen uudelleenrenderöintien rajoittamiseksi” ilmainen?
Kyllä – oppitunnin ”Contextien jakaminen uudelleenrenderöintien rajoittamiseksi” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko React Academy-kurssin, päivitä CoddyKit PROhon. React Academy-kurssilla on yhteensä 4 oppituntia.
Mitä opin oppitunnilla ”Contextien jakaminen uudelleenrenderöintien rajoittamiseksi”?
Erottakaa usein muuttuvat arvot vakaista arvoista sijoittamalla ne eri contexteihin. Harjoittelet React Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni React Academy-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin React Academy-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 1/4.
Kuinka kauan ”Contextien jakaminen uudelleenrenderöintien rajoittamiseksi”-oppitunnin suorittaminen kestää?
Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.
Voinko kirjoittaa ja suorittaa koodia tällä React Academy-oppitunnilla?
Kyllä. Jokainen React Academy-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.
Kaikki tämän kurssin oppitunnit
- Contextien jakaminen uudelleenrenderöintien rajoittamiseksi
- Context-arvojen memoizointi useMemolla
- Context-valitsijamalli
- Milloin contextia ei pidä käyttää