0Pricing
Sveltejs Academy · Урок

Readable из Writable

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

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

Зачем предоставлять доступ только для чтения

Вам может понадобиться возможность внутренней записи при доступе потребителей только для чтения, чтобы предотвратить случайные изменения.

Шаблон

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

const _user = writable(null);
export const user = { subscribe: _user.subscribe };
export function setUser(u) { _user.set(u); }

Внешний путь изменения

Предоставьте явные функции для записи. Так все изменения будут проходить через одну точку входа.

Объединение с методами

Часто этот подход объединяют с шаблоном пользовательского хранилища: подписка и именованные методы действий.

Скройте реализацию

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

Тестирование

Внутреннее записываемое хранилище можно заменить для тестов; потребителям это безразлично.

Реактивный потребитель

Компоненты используют $user как обычно.

<p>{$user?.name}</p>

Подсказки TypeScript

Для ясности укажите тип экспортируемого объекта как Readable<T> из Svelte.

Несколько потребителей

Многие компоненты могут подписываться на хранилище; Svelte обработает всю служебную работу.

Объединение с проверкой

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

Итоги: применение шаблона

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

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

Как преобразовать записываемое хранилище в хранилище только для чтения?

Резюме

Экспортируйте только subscribe из закрытого хранилища, доступного для записи, чтобы создать общедоступное хранилище только для чтения.

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

Урок «Readable из Writable» бесплатный?

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

Чему я научусь в уроке «Readable из Writable»?

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

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

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

Сколько времени занимает урок «Readable из Writable»?

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

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

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

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

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