Выбор ответа Junior Compose: состояние и side-effects спрашивают часто обновлено

Что такое state hoisting

Вопрос

Что такое state hoisting в Compose?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: Вынос состояния к вызывающему: компонент получает значение и колбэк. Поднятие состояния делает компонент без собственного состояния: SearchField(query, onQueryChange).

Варианты ответа

  1. Кеширование состояния на диске, чтобы оно пережило смерть процесса
  2. Перенос состояния в глобальный синглтон, доступный всем экранам приложения
  3. Вынос состояния к вызывающему: компонент получает значение и колбэкправильный ответ
  4. Автоматическое сохранение состояния при повороте через rememberSaveable

Разбор

Поднятие состояния делает компонент без собственного состояния: SearchField(query, onQueryChange). Владелец состояния выше (экран или ViewModel) становится единственным источником правды, компонент легче переиспользовать и тестировать. Ни диск, ни глобальный синглтон, ни сохранение при повороте к этому не относятся.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.