Readable z Writable
Udostępnij odbiorcom wyłącznie część writable store’a odpowiedzialną za odczyt.
Readable z Writable 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.
Dlaczego udostępniać tylko do odczytu
Można zechcieć zachować możliwość wewnętrznego zapisu, ale udostępnić konsumentom dostęp tylko do odczytu, zapobiegając przypadkowym modyfikacjom.
Schemat
Należy zachować writable jako prywatny i eksportować obiekt zawierający wyłącznie metodę subscribe.
const _user = writable(null);
export const user = { subscribe: _user.subscribe };
export function setUser(u) { _user.set(u); }Zewnętrzna ścieżka modyfikacji
Należy udostępnić jawne funkcje zapisujące. Dzięki temu wszystkie modyfikacje przechodzą przez jeden punkt wejścia.
Łączenie z metodami
Często łączy się to ze schematem niestandardowego store'a: subscribe oraz nazwane metody akcji.
Ukrywanie implementacji
Konsumenci nie muszą wiedzieć, czy źródłem jest writable, derived, czy system zewnętrzny.
Testowanie
Wewnętrzny writable można zastąpić na potrzeby testów. Konsumenci nie muszą o tym wiedzieć.
Reaktywny konsument
Komponenty korzystają z $user jak zwykle.
<p>{$user?.name}</p>Wskazówki TypeScript
Dla większej czytelności należy oznaczyć eksportowany obiekt typem Readable<T> z Svelte.
Wielu konsumentów
Wiele komponentów może subskrybować store'a, a Svelte zajmie się całą obsługą subskrypcji.
Łączenie z walidacją
Należy sprawdzać dane wejściowe w funkcji setter przed przekazaniem ich do wewnętrznego writable.
Podsumowanie zastosowania schematu
Należy używać tego schematu zawsze wtedy, gdy współdzielony stan powinien zmieniać się tylko w określony sposób.
Szybkie sprawdzenie
Jak utworzyć readable na podstawie writable?
Podsumowanie
Udostępniaj publicznie tylko subscribe z prywatnego zapisywalnego store'a, aby utworzyć publiczny store tylko do odczytu.
Często zadawane pytania
Czy lekcja „Readable z Writable” jest bezpłatna?
Tak — pełny tekst „Readable z Writable” 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 „Readable z Writable”?
Udostępnij odbiorcom wyłącznie część writable store’a odpowiedzialną za odczyt. Ć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 „Readable z Writable”?
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
- derived() dla store’ów obliczanych
- Niestandardowy wzorzec store’a z subscribe/set/update
- Readable z Writable
- Kontrakty store’ów i interoperacyjność