0Pricing
Sveltejs Academy · Урок

Шаблон пользовательского хранилища с subscribe/set/update

Создавайте хранилище с инкапсулированной логикой, предоставляя метод subscribe и пользовательские действия

«Шаблон пользовательского хранилища с subscribe/set/update» — бесплатный урок Sveltejs Academy на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Sveltejs Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Sveltejs Academy содержит 4 уроков всего.

Контракт хранилища

Любой объект с методом subscribe(fn), возвращающим функцию отмены подписки, является допустимым хранилищем Svelte.

Обернуть записываемое хранилище

Создайте пользовательское хранилище, обернув записываемое хранилище и предоставив специализированный API.

function createCounter() {
  const { subscribe, set, update } = writable(0);
  return {
    subscribe,
    increment: () => update(n => n + 1),
    reset: () => set(0)
  };
}

Использование

Экспортируйте экземпляр и используйте его как любое другое хранилище.

export const counter = createCounter();

Использование в компоненте

Читайте значение с помощью $counter, вызывайте методы предметной области, например counter.increment().

Инкапсулированная логика

Внутренняя логика остаётся закрытой: предоставляются только выбранные вами методы.

Лучше глобальных переменных

Пользовательские хранилища можно тестировать и заменять, в отличие от разрозненных глобальных изменений.

Асинхронные методы

Методы могут быть асинхронными и вызывать set, когда данные готовы.

load: async () => set(await fetch("/api").then(r => r.json()))

Безопасность типов

С помощью TypeScript укажите тип возвращаемой структуры, чтобы потребители получили полноценные подсказки IntelliSense.

Объединение с хранилищами

Пользовательское хранилище может внутренне зависеть от других хранилищ для получения производного состояния.

Одиночный экземпляр и фабрика

Решите, нужен ли вам один общий экземпляр или фабрика, создающая множество экземпляров.

Практический шаблон

Используйте этот подход для корзины, аутентификации, темы и других сущностей предметной области в приложении.

Быстрая проверка

Что делает объект допустимым хранилищем Svelte?

Итоги

Пользовательские хранилища оборачивают записываемое хранилище и предоставляют специализированные методы предметной области, сохраняя внутреннюю логику инкапсулированной.

Часто задаваемые вопросы

Урок «Шаблон пользовательского хранилища с subscribe/set/update» бесплатный?

Да — полный текст урока «Шаблон пользовательского хранилища с subscribe/set/update» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Sveltejs Academy, подпишись на CoddyKit PRO. Курс Sveltejs Academy содержит 4 уроков всего.

Чему я научусь в уроке «Шаблон пользовательского хранилища с subscribe/set/update»?

Создавайте хранилище с инкапсулированной логикой, предоставляя метод subscribe и пользовательские действия Ты практикуешь Sveltejs Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Sveltejs Academy?

Предыдущий опыт не требуется. Sveltejs Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.

Сколько времени занимает урок «Шаблон пользовательского хранилища с subscribe/set/update»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Sveltejs Academy?

Да. Каждый урок Sveltejs Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. derived() для вычисляемых хранилищ
  2. Шаблон пользовательского хранилища с subscribe/set/update
  3. Readable из Writable
  4. Контракты хранилищ и совместимость
← Назад к Sveltejs Academy