Zustand DevTools ve Store'ları Test Etme
devtools middleware aracılığıyla Redux DevTools'a bağlanın ve store eylemlerini doğrudan birim testine tabi tutun.
Zustand DevTools ve Store'ları Test Etme, CoddyKit'te ücretsiz bir React Academy dersidir. Bu, 4 dersinin 4. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, React Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. React Academy kursu toplamda 4 dersten oluşur.
Hoş Geldiniz
DevTools Ara Yazılımı
import { create } from 'zustand';
import { devtools } from 'zustand/middleware';
const useStore = create(
devtools(
(set) => ({
count: 0,
increment: () => set(s => ({ count: s.count + 1 }), false, 'increment'),
}),
{ name: 'CounterStore' }
)
);DevTools'ta Adlandırılmış Eylemler
set(s => ({ count: s.count + 1 }), false, 'counter/increment');
// Appears as 'counter/increment' in Redux DevToolspersist ve devtools'u Birleştirme
const useStore = create(
devtools(
persist(
(set) => ({ /* ... */ }),
{ name: 'my-store' }
),
{ name: 'MyStore' }
)
);Zustand Store'larını Test Etme
import { useCounterStore } from './store';
beforeEach(() => useCounterStore.setState({ count: 0 }));
test('increment increases count', () => {
useCounterStore.getState().increment();
expect(useCounterStore.getState().count).toBe(1);
});Testler Arasında Durumu Sıfırlama
const initialState = { count: 0, user: null };
beforeEach(() => {
useMyStore.setState(initialState);
});Bileşen Testlerinde Store'u Taklit Etme
vi.mock('./useCounterStore', () => ({
useCounterStore: vi.fn(() => ({ count: 5, increment: vi.fn() })),
}));Asenkron Eylemleri Test Etme
global.fetch = vi.fn().mockResolvedValue({
json: () => Promise.resolve({ id: 1, name: 'Alice' }),
});
await useUserStore.getState().fetchUser(1);
expect(useUserStore.getState().user.name).toBe('Alice');Üretim Ortamı DevTools Koruması
const isDev = process.env.NODE_ENV === 'development';
const useStore = create(
isDev ? devtools(storeCreator, { name: 'App' }) : storeCreator
);Günlükleme Ara Yazılımı
const log = (fn) => (set, get, api) => fn(
(args, replace, name) => {
console.log('action', name, args);
set(args, replace, name);
}, get, api
);Hızlı Kontrol
Özet
Kurs Tamamlandı
Sıkça Sorulan Sorular
“Zustand DevTools ve Store'ları Test Etme” dersi ücretsiz mi?
Evet — “Zustand DevTools ve Store'ları Test Etme” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve React Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. React Academy kursu toplamda 4 dersten oluşur.
“Zustand DevTools ve Store'ları Test Etme” dersinde ne öğreneceğim?
devtools middleware aracılığıyla Redux DevTools'a bağlanın ve store eylemlerini doğrudan birim testine tabi tutun. React Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
React Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te React Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 4. dersidir.
“Zustand DevTools ve Store'ları Test Etme” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu React Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her React Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- İlk Zustand Store'unuzu Oluşturma
- Seçiciler ve Gereksiz Yeniden Oluşturmaları Önleme
- Persist Middleware ile Durumu Kalıcı Hâle Getirme
- Zustand DevTools ve Store'ları Test Etme