Belajar Redux Toolkit dari dasar hingga production-grade: pre-requisites & setup environment, sejarah & latar belakang, konsep dasar & arsitektur utama, setup store & provider, createSlice & reducers, selectors & hooks, async dengan createAsyncThunk, TypeScript & typing store, RTK Query setup & useQuery, mutations & cache invalidation, createEntityAdapter & normalization, structure store & combineSlices, middleware thunk & createListenerMiddleware, performance & memoized selectors, SSR Next.js & framework integration, security & best practice state, custom middleware & enhancers, RTK Query advanced, testing store & components, debugging & Redux DevTools, fitur stabil terbaru RTK 2.x, production-ready architecture, hingga ekosistem alternatif & refleksi akhir dengan total 23 episode.
Sebelum menyentuh Redux Toolkit, kalian perlu menguasai JavaScript modern, React hooks, dan konsep immutability. Di episode ini kalian juga menyiapkan project React, menginstall Redux Toolkit dan react-redux, serta memverifikasi instalasi pertama.

Episode ini menelusuri evolusi state management React dari prop drilling, Context API, Flux, hingga lahirnya Redux oleh Dan Abramov dan penyempurnaannya menjadi Redux Toolkit. Kalian juga memahami masalah konkret yang diselesaikan Redux: store global, alur data searah, dan debuggability.

Episode ini membedah tiga prinsip Redux: single source of truth, state read-only, dan reducer murni. Kalian juga melihat siklus data lengkap dari dispatch action hingga re-render UI, peran middleware, cara Immer mengamankan reducer, dan peta komponen utama Redux Toolkit.

Episode ini memandu pembuatan store Redux pertama dengan configureStore, mengenal default middleware dan DevTools bawaan, dan membungkus aplikasi dengan Provider dari react-redux. Kalian juga menyusun struktur folder app untuk store dan features untuk slice per fitur.

Episode ini mengajarkan createSlice: mendefinisikan name, initialState, dan reducers dalam satu tempat, dengan action creator dan action type yang digenerate otomatis. Kalian juga menulis reducer dengan mutasi draft Immer dan menangani action eksternal lewat extraReducers.

Episode ini mengajarkan cara komponen membaca dan mengubah state: useSelector untuk membaca, useDispatch untuk mengirim action. Kalian memahami selector sebagai fungsi murni, kapan re-render terjadi dengan strict equality, serta memakai shallowEqual untuk data kompleks.

Episode ini mengajarkan createAsyncThunk untuk mengambil data API dan menyimpan hasilnya di reducer. Kalian memahami lifecycle action pending, fulfilled, dan rejected, mengelola status loading, succeeded, dan failed, menangani error message, serta membatalkan request saat komponen unmount.

Episode ini melengkapi project Redux dengan TypeScript: mendefinisikan RootState dan AppDispatch dari store, membuat typed hooks useAppSelector dan useAppDispatch, memberi generic pada createAsyncThunk, serta memakai createSelector dengan type inference penuh.

Episode ini memperkenalkan RTK Query: membuat API client dengan createApi dan fetchBaseQuery, mendefinisikan endpoints.query, memakai hook useGetPostsQuery di komponen, serta memahami caching otomatis, deduplication request, dan status query yang lengkap.

Episode ini membahas sisi penulisan data RTK Query: endpoints.mutation dan hook useXMutation untuk POST, PUT, dan DELETE, optimistic update via onQueryStarted, serta sinkronisasi cache dengan providesTags dan invalidatesTags agar daftar data selalu konsisten setelah mutasi.
