0Pricing
Sveltejs Academy · Урок

Обновление хранилищ: set() и update()

Заменяйте или преобразуйте значения хранилища с помощью set() и функции обновления в update()

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

Два режима обновления

Хранилища предоставляют два метода обновления: set(value) для замены и update(fn) для преобразования.

Пример set

Полностью замените значение.

count.set(5);

Пример update

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

count.update(n => n + 1);

Когда какой использовать

Используйте set для абсолютных изменений, а update — когда новое значение зависит от старого.

Внутри компонентов

Внутри файлов .svelte предпочитайте сокращённую запись $store = x записи store.set(x).

Вне компонентов

В обычных модулях JS и вспомогательных функциях вызывайте set/update напрямую.

Обновление объектов

Если хранилище содержит объект, возвращайте из update новый объект, чтобы подписчики увидели изменение.

user.update(u => ({ ...u, name }));

Обновление массивов

Правило то же: возвращайте новый массив, а не изменяйте существующий на месте.

todos.update(list => [...list, newTodo]);

Пакетное обновление

Несколько последовательных обновлений запускают подписчиков каждое по отдельности. Для пакетных изменений вычислите итоговое значение и установите его один раз.

Асинхронные обновления

Можно вызывать set внутри асинхронных обратных вызовов; подписчики получат новое значение при его установке.

Пользовательские установщики

Для более понятного API оберните set/update в именованные функции пользовательского хранилища.

function increment() { count.update(n => n + 1); }

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

Какой метод требует предыдущего значения?

Итоги

set заменяет значение, а update преобразует его, используя текущее значение через обратный вызов.

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

Урок «Обновление хранилищ: set() и update()» бесплатный?

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

Чему я научусь в уроке «Обновление хранилищ: set() и update()»?

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

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

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

Сколько времени занимает урок «Обновление хранилищ: set() и update()»?

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

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

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

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

  1. Создание доступного для записи хранилища
  2. Подписка с помощью автоматической подписки $
  3. Обновление хранилищ: set() и update()
  4. Хранилища readable и пользовательские функции запуска
← Назад к Sveltejs Academy