Belajar Zustand (state management modern untuk React) dari dasar hingga production-grade: pre-requisites & setup environment, sejarah & latar belakang, konsep dasar & arsitektur utama, setup instalasi & store pertama, API create() set & get, selector & subscription, actions & async state, TypeScript & typing store, middleware persist, middleware immer, middleware devtools & redux, persistence & rehydration lanjutan, server state & integrasi data, performance & transient updates, SSR React 19 & framework integration, security & best practice state, custom middleware & slice pattern, zustand di luar React (vanilla store), testing store & middleware, optimasi & debugging, fitur stabil terbaru v5.x, production-ready architecture, hingga ekosistem alternatif & refleksi akhir dengan total 23 episode.
Sebelum menyentuh Zustand, kalian perlu menguasai JavaScript modern, React hooks, dan memahami perbedaan local state, global state, serta server state. Episode ini menyiapkan project Vite, menginstall zustand, dan memverifikasi instalasi pertama.

Episode ini mengulas evolusi state management React dari prop drilling, Context API, hingga Redux yang ber-boilerplate, lalu kelahiran Zustand oleh tim pmndrs pada 2019. Kalian juga memahami masalah yang diselesaikan Zustand: tanpa Provider, re-render selektif, dan ukuran sekitar 1.2 KB gzipped.

Episode ini membedah model store Zustand yang berisi state dan action dalam satu object, mekanisme subscribe/notify di balik layar, tiga API inti useStore, setState, dan subscribe, serta konsep selector, transient updates, dan vanilla store.

Episode ini mempraktikkan persiapan project: membuat project React, menginstall zustand, menyusun struktur folder stores, dan menulis store counter pertama. Kalian juga belajar pola membaca state via selector serta batasan destructuring store utuh.

Episode ini membedah anatomi create((set, get) => ...), dua bentuk set berupa object dan fungsi updater, serta peran get untuk membaca state terkini di dalam action. Kalian juga belajar pola update yang benar dengan spread dan immutability.

Episode ini membahas selector sebagai kunci re-render minimal, memakai useShallow dari zustand/react/shallow untuk memilih beberapa slice sekaligus, dan subscription manual dengan subscribeWithSelector untuk log, analitik, dan sinkronisasi di luar React.

Episode ini membahas penempatan logika di dalam store sebagai action, action async dengan async/await, pengelolaan status loading/error/success, dan error handling terpusat untuk data fetching yang rapi dan bisa diuji.

Episode ini membahas penulisan store ber-typed dengan create<State>()(...), definisi interface state dan actions, typing middleware, penggunaan StoreApi, serta pola combine untuk slicing store besar tanpa kehilangan tipe.

Episode ini membahas middleware persist yang menyimpan state ke localStorage atau sessionStorage secara otomatis, opsi name untuk kunci penyimpanan, partialize untuk memilih subset state yang disimpan, serta skipHydration untuk kontrol proses rehydrate.

Episode ini membahas middleware immer untuk memperbarui state nested secara mutable-tapi-immutable lewat fungsi draft, perbandingannya dengan manual spread, kapan memakai immer versus spread, serta trade-off performa keduanya.
