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

Когда нужно использовать provide-inject

Provide-inject полезен в Vue, когда нужно передавать данные/методы глубоко вниз по иерархии компонентов, минуя промежуточные уровни (пропс-дриллинг).

Типичные сценарии:

  • Передача глобальных настроек (тема, локаль)
  • Общий стейт (без Vuex/Pinia)
  • Утилитные функции/сервисы

Пример:

js
// Родительский компонент
export default {
  provide() {
    return {
      theme: 'dark'
    }
  }
}

// Дочерний компонент (любой уровень вложенности)
export default {
  inject: ['theme'],
  created() {
    console.log(this.theme) // 'dark'
  }
}

Важно: provide/inject нарушает прозрачность потока данных, используйте его осознанно, когда стандартные пропсы становятся слишком громоздкими. Для реактивности нужно явно передавать computed/ref.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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