$state.raw для нереактивного состояния
Храните большие объекты или массивы без глубокой реактивности для повышения производительности.
«$state.raw для нереактивного состояния» — бесплатный урок Sveltejs Academy на CoddyKit. Это урок 1 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Sveltejs Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Sveltejs Academy содержит 4 уроков всего.
Когда глубокий прокси избыточен
Для очень больших объектов или массивов, которым не нужна реактивность на уровне свойств, глубокие прокси напрасно расходуют ресурсы.
Состояние raw
$state.raw хранит значение, не оборачивая его в прокси.
let bigData = $state.raw(hugeArray);Только повторное присваивание
Для состояния raw обновления вызывает только повторное присваивание. Изменения не отслеживаются.
bigData = [...bigData, item]; // triggers
bigData.push(item); // does NOTСлучаи использования
Большие наборы данных, неизменяемые значения, критичные по производительности участки кода.
Сравнение
Подобно let в Svelte 4: реактивность только при присваивании, без накладных расходов прокси.
Когда выбирать
По умолчанию используйте $state; переходите на $state.raw, только если профилирование показывает значительные затраты на прокси.
Удобство для снимков
Значения raw являются обычными — их легко передавать через сериализацию или Web Workers.
Смешанное использование
В одном компоненте можно сочетать состояние raw и состояние с прокси для разных задач.
TypeScript
Состояние raw сохраняет точный тип без преобразований прокси.
Память
Состояние raw использует меньше памяти, поскольку к нему не прикрепляются метаданные прокси.
Антипаттерн
Слишком ранний переход к raw может привести к ошибкам. Начните с $state и переходите на raw при необходимости.
Быстрая проверка
Чем $state.raw отличается от обычного состояния?
Итоги
Используйте $state.raw для больших, редко изменяющихся значений, когда накладные расходы прокси не оправданы.
Часто задаваемые вопросы
Урок «$state.raw для нереактивного состояния» бесплатный?
Да — полный текст урока «$state.raw для нереактивного состояния» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Sveltejs Academy, подпишись на CoddyKit PRO. Курс Sveltejs Academy содержит 4 уроков всего.
Чему я научусь в уроке «$state.raw для нереактивного состояния»?
Храните большие объекты или массивы без глубокой реактивности для повышения производительности. Ты практикуешь Sveltejs Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Sveltejs Academy?
Предыдущий опыт не требуется. Sveltejs Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 4.
Сколько времени занимает урок «$state.raw для нереактивного состояния»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Sveltejs Academy?
Да. Каждый урок Sveltejs Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- $state.raw для нереактивного состояния
- $derived.by для сложных производных значений
- $effect.root для ручной очистки
- Переход с Svelte 4 на 5