Обновление хранилищ: 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 — локальная установка не требуется.
Все уроки этого курса
- Создание доступного для записи хранилища
- Подписка с помощью автоматической подписки $
- Обновление хранилищ: set() и update()
- Хранилища readable и пользовательские функции запуска