Selektory i zapobieganie zbędnym ponownym renderowaniom
Wybieranie określonych fragmentów stanu za pomocą selektorów, aby komponenty renderowały się ponownie tylko wtedy, gdy jest to potrzebne.
Selektory i zapobieganie zbędnym ponownym renderowaniom to bezpłatna lekcja React Academy na CoddyKit. To lekcja 2 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej React Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs React Academy zawiera 4 lekcji w sumie.
Witamy
Problem domyślnego selektora
// Bad: re-renders on every store change
const store = useAppStore();
return <p>{store.user.name}</p>;Używanie selektora
// Good: re-renders only when user.name changes
const name = useAppStore(s => s.user.name);
return <p>{name}</p>;Sprawdzanie równości referencji
// Creates a new object every time — always re-renders!
const info = useStore(s => ({ id: s.id, name: s.name }));Naprawa za pomocą płytkiego porównania
import { shallow } from 'zustand/shallow';
const info = useAppStore(
s => ({ id: s.id, name: s.name }),
shallow // compare by content, not reference
);Wybieranie wielu wartości
const { items, loading } = useCartStore(
s => ({ items: s.items, loading: s.loading }),
shallow
);Stabilne referencje akcji
// Actions are always stable — no shallow needed
const addToCart = useCartStore(s => s.addToCart);Pomocniczy useShallow (Zustand v5+)
import { useShallow } from 'zustand/react/shallow';
const { items, loading } = useCartStore(
useShallow(s => ({ items: s.items, loading: s.loading }))
);Łączenie selektorów
const totalPrice = useCartStore(
s => s.items.reduce((sum, item) => sum + item.price, 0)
);Profilowanie ponownych renderowań Zustand
Szybkie sprawdzenie
Podsumowanie
Dalej
Ucz się React dzięki korepetycjom AI — za darmo
Pisz i uruchamiaj kod w przeglądarce, otrzymuj natychmiastową pomoc od korepetytora AI dostępnego 24/7 i kontynuuj naukę w sieci lub w aplikacji.
- Kursy
- 88
- Lekcje
- 324
Często zadawane pytania
Czy lekcja „Selektory i zapobieganie zbędnym ponownym renderowaniom” jest bezpłatna?
Tak — pełny tekst „Selektory i zapobieganie zbędnym ponownym renderowaniom” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu React Academy, przejdź na CoddyKit PRO. Kurs React Academy zawiera 4 lekcji w sumie.
Co nauczysz się w „Selektory i zapobieganie zbędnym ponownym renderowaniom”?
Wybieranie określonych fragmentów stanu za pomocą selektorów, aby komponenty renderowały się ponownie tylko wtedy, gdy jest to potrzebne. Ćwiczysz React Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć React Academy?
Nie wymagamy żadnego doświadczenia. React Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 2 z 4.
Ile czasu zajmuje lekcja „Selektory i zapobieganie zbędnym ponownym renderowaniom”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji React Academy?
Tak. Każda lekcja React Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Tworzenie pierwszego store Zustand
- Selektory i zapobieganie zbędnym ponownym renderowaniom
- Utrwalanie stanu za pomocą middleware persist
- Zustand DevTools i testowanie store'ów