Zustand DevTools ja storejen testaaminen
Yhdistäkää Redux DevToolsiin devtools-middlewarellä ja testatkaa storen toiminnot suoraan yksikkötesteillä.
Zustand DevTools ja storejen testaaminen on ilmainen React Academy-oppitunti CoddyKitissä. Tämä on oppitunti 4/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu React Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. React Academy-kurssilla on yhteensä 4 oppituntia.
Tervetuloa
devtools-middleware
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' }
)
);Nimetyt toiminnot DevToolsissa
set(s => ({ count: s.count + 1 }), false, 'counter/increment');
// Appears as 'counter/increment' in Redux DevToolspersist- ja devtools-middlewarejen yhdistäminen
const useStore = create(
devtools(
persist(
(set) => ({ /* ... */ }),
{ name: 'my-store' }
),
{ name: 'MyStore' }
)
);Zustand-storejen testaaminen
import { useCounterStore } from './store';
beforeEach(() => useCounterStore.setState({ count: 0 }));
test('increment increases count', () => {
useCounterStore.getState().increment();
expect(useCounterStore.getState().count).toBe(1);
});Tilan palauttaminen testien välillä
const initialState = { count: 0, user: null };
beforeEach(() => {
useMyStore.setState(initialState);
});Storen mockaaminen komponenttitesteissä
vi.mock('./useCounterStore', () => ({
useCounterStore: vi.fn(() => ({ count: 5, increment: vi.fn() })),
}));Asynkronisten toimintojen testaaminen
global.fetch = vi.fn().mockResolvedValue({
json: () => Promise.resolve({ id: 1, name: 'Alice' }),
});
await useUserStore.getState().fetchUser(1);
expect(useUserStore.getState().user.name).toBe('Alice');Tuotannon DevTools-suojaus
const isDev = process.env.NODE_ENV === 'development';
const useStore = create(
isDev ? devtools(storeCreator, { name: 'App' }) : storeCreator
);Lokitus-middleware
const log = (fn) => (set, get, api) => fn(
(args, replace, name) => {
console.log('action', name, args);
set(args, replace, name);
}, get, api
);Pikatarkistus
Kertaus
Kurssi suoritettu
Opi React tekoälytuutorin avulla — ilmaiseksi
Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.
- Kurssit
- 88
- Oppitunnit
- 324
Usein kysytyt kysymykset
Onko oppitunti ”Zustand DevTools ja storejen testaaminen” ilmainen?
Kyllä – oppitunnin ”Zustand DevTools ja storejen testaaminen” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko React Academy-kurssin, päivitä CoddyKit PROhon. React Academy-kurssilla on yhteensä 4 oppituntia.
Mitä opin oppitunnilla ”Zustand DevTools ja storejen testaaminen”?
Yhdistäkää Redux DevToolsiin devtools-middlewarellä ja testatkaa storen toiminnot suoraan yksikkötesteillä. Harjoittelet React Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni React Academy-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin React Academy-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 4/4.
Kuinka kauan ”Zustand DevTools ja storejen testaaminen”-oppitunnin suorittaminen kestää?
Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.
Voinko kirjoittaa ja suorittaa koodia tällä React Academy-oppitunnilla?
Kyllä. Jokainen React Academy-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.
Kaikki tämän kurssin oppitunnit
- Ensimmäisen Zustand-storen luominen
- Valitsijat ja tarpeettomien uudelleenrenderöintien estäminen
- Tilan säilyttäminen Persist-middlewarellä
- Zustand DevTools ja storejen testaaminen