Создание первого хранилища Zustand
Определите хранилище с помощью create(), добавьте части состояния и действия, а затем используйте его через useStore.
«Создание первого хранилища Zustand» — бесплатный урок React Academy на CoddyKit. Это урок 1 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения React Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс React Academy содержит 4 уроков всего.
Добро пожаловать
Что такое Zustand?
Установка
npm install zustandСоздание store
import { create } from 'zustand';
const useCounterStore = create((set) => ({
count: 0,
increment: () => set(state => ({ count: state.count + 1 })),
decrement: () => set(state => ({ count: state.count - 1 })),
reset: () => set({ count: 0 }),
}));Использование store в компоненте
function Counter() {
const count = useCounterStore(state => state.count);
const increment = useCounterStore(state => state.increment);
return (
<>
<p>{count}</p>
<button onClick={increment}>+1</button>
</>
);
}Синтаксис селектора
const count = useCounterStore(s => s.count);
const reset = useCounterStore(s => s.reset);
// Only re-renders when count changes, not the whole storeОбновление состояния с помощью set
set({ count: 0 }) // direct set
set(state => ({ count: state.count + 1 })) // functional updateАсинхронные действия
const useUserStore = create((set) => ({
user: null,
fetchUser: async (id) => {
const data = await fetch('/api/user/' + id).then(r => r.json());
set({ user: data });
},
}));Обновление вложенного состояния
set(state => ({
user: { ...state.user, name: 'Alice' }
}));Чтение store вне React
const count = useCounterStore.getState().count;
useCounterStore.subscribe(state => console.log(state.count));Быстрая проверка
Итоги
Далее
Часто задаваемые вопросы
Урок «Создание первого хранилища Zustand» бесплатный?
Да — полный текст урока «Создание первого хранилища Zustand» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс React Academy, подпишись на CoddyKit PRO. Курс React Academy содержит 4 уроков всего.
Чему я научусь в уроке «Создание первого хранилища Zustand»?
Определите хранилище с помощью create(), добавьте части состояния и действия, а затем используйте его через useStore. Ты практикуешь React Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать React Academy?
Предыдущий опыт не требуется. React Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 4.
Сколько времени занимает урок «Создание первого хранилища Zustand»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке React Academy?
Да. Каждый урок React Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Создание первого хранилища Zustand
- Селекторы и предотвращение лишних повторных рендерингов
- Сохранение состояния с промежуточным ПО persist
- DevTools Zustand и тестирование хранилищ