Aktualizowanie store’ów: set() i update()
Zastępuj lub przekształcaj wartości store’a za pomocą set() i callbacku aktualizującego w update().
Aktualizowanie store’ów: set() i update() to bezpłatna lekcja Sveltejs Academy na CoddyKit. To lekcja 3 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 Sveltejs Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Sveltejs Academy zawiera 4 lekcji w sumie.
Dwa tryby aktualizacji
Store'y udostępniają dwie metody aktualizacji: set(value) zastępuje wartość, a update(fn) ją przekształca.
Przykład set
Zastępuje całą wartość.
count.set(5);Przykład update
Przekształca bieżącą wartość za pomocą funkcji zwrotnej.
count.update(n => n + 1);Kiedy użyć której metody
Należy używać set do bezpośrednich zmian, a update, gdy nowa wartość zależy od poprzedniej.
Wewnątrz komponentów
W plikach .svelte należy preferować skrócony zapis $store = x zamiast store.set(x).
Poza komponentami
W zwykłych modułach JS i funkcjach pomocniczych należy bezpośrednio wywoływać set/update.
Aktualizowanie obiektów
Gdy store przechowuje obiekt, należy zwracać nowy obiekt z funkcji update, aby subskrybenci wykryli zmianę.
user.update(u => ({ ...u, name }));Aktualizowanie tablic
Obowiązuje ta sama zasada: należy zwracać nową tablicę, a nie modyfikować istniejącej w miejscu.
todos.update(list => [...list, newTodo]);Grupowanie aktualizacji
Każda z kilku kolejnych aktualizacji wywołuje subskrybentów. W przypadku grupowania należy obliczyć końcową wartość i wykonać jedno przypisanie.
Aktualizacje asynchroniczne
Można wywoływać set wewnątrz funkcji zwrotnych asynchronicznych. Subskrybenci otrzymają nową wartość po jego wywołaniu.
Niestandardowe settery
Dla czytelniejszego API warto opakować set/update w nazwane funkcje niestandardowego store'a.
function increment() { count.update(n => n + 1); }Szybkie sprawdzenie
Która metoda wymaga poprzedniej wartości?
Podsumowanie
set zastępuje wartość, a update przekształca ją za pomocą funkcji zwrotnej korzystającej z bieżącej wartości.
Często zadawane pytania
Czy lekcja „Aktualizowanie store’ów: set() i update()” jest bezpłatna?
Tak — pełny tekst „Aktualizowanie store’ów: set() i update()” 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 Sveltejs Academy, przejdź na CoddyKit PRO. Kurs Sveltejs Academy zawiera 4 lekcji w sumie.
Co nauczysz się w „Aktualizowanie store’ów: set() i update()”?
Zastępuj lub przekształcaj wartości store’a za pomocą set() i callbacku aktualizującego w update(). Ćwiczysz Sveltejs 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ąć Sveltejs Academy?
Nie wymagamy żadnego doświadczenia. Sveltejs 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 3 z 4.
Ile czasu zajmuje lekcja „Aktualizowanie store’ów: set() i update()”?
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 Sveltejs Academy?
Tak. Każda lekcja Sveltejs 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 writable Store
- Subskrypcja z użyciem automatycznej subskrypcji $
- Aktualizowanie store’ów: set() i update()
- Store’y readable i niestandardowe funkcje startowe