Встречается на собеседованиях • сегодня

Почему Vue не будет перерисовывать каждое переназначение объекта

Vue использует реактивность на основе прокси (в Vue 3) или геттеров/сеттеров (Vue 2). При прямом переназначении объекта (obj = newObj) теряется реактивность, так как ссылка на объект меняется. Vue отслеживает только изменения свойств существующего реактивного объекта.

Для реактивного обновления:

  1. В Vue 3 используй reactive() или ref()
  2. В Vue 2 используй Vue.set() или this.$set()

Пример:

js
// Vue 3
const state = reactive({ count: 0 })
// Реактивно:
state.count = 1 
// НЕ реактивно:
state = { count: 1 }

// Vue 2
this.$set(this.obj, 'key', value)
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы