Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

Документы

Медиа

Назад
Вопрос про JavaScript: if, show, performance

В каких случаях предпочтительнее использовать v-if, а в каких v-show?

Вопрос проверяет умение выбирать подходящую директиву условного рендеринга во Vue с учётом производительности и жизненного цикла компонентов.

Короткий ответ

v-if лучше использовать, когда условие меняется редко или компонент тяжёлый для отрисовки. v-show предпочтительнее, если элемент нужно часто показывать и скрывать. v-if полностью добавляет и удаляет элемент из DOM, а v-show лишь меняет его видимость через CSS. Это влияет на скорость переключений и начальную загрузку. Выбор зависит от сценария использования.

Длинный ответ

Хотя v-if и v-show решают одну задачу, их применение оптимально в разных ситуациях.

Когда использовать v-if

v-if управляет созданием и уничтожением DOM-элементов.

Использование оправдано, если:

  • Условие меняется редко

  • Компонент сложный или тяжёлый

  • Необходимо полностью освобождать ресурсы

Пример:

<HeavyComponent v-if="isAuthorized" />

В этом случае:

  • Компонент не создаётся без необходимости

  • Не выполняются лишние вычисления

  • Не тратится память на неиспользуемый DOM

Когда использовать v-show

v-show управляет только видимостью элемента.

Использование оправдано, если:

  • Видимость часто переключается

  • Важно быстрое отображение

  • Компонент должен сохранять своё состояние

Пример:

<div v-show="isOpen">
  Меню
</div>

Здесь:

  • Элемент создаётся один раз

  • Переключение происходит быстро

  • Состояние компонента сохраняется

Практическое правило

Перед выбором директивы стоит задать вопрос:

  • Что дороже — частое переключение или начальная отрисовка?

Вывод

v-if подходит для редких условий и тяжёлых компонентов, v-show — для частого скрытия и показа элементов без пересоздания DOM.

Уровень

  • Рейтинг:

    4

  • Сложность:

    4

Навыки

  • JavaScript

    JavaScript

Ключевые слова

#if

#show

#performance

Подпишись на React Developer в телеграм