Выбор ответа Senior Compose: состояние и side-effects обновлено

Когда нужен derivedStateOf

Вопрос

В каком случае derivedStateOf действительно полезен?

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

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

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

Коротко

Правильный ответ: Когда результат меняется реже источника: кнопка «наверх» по индексу скролла. derivedStateOf пропускает рекомпозицию, если результат не изменился, хотя изменился источник.

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

  1. Для любого вычисления в composable, чтобы оно не повторялось при рекомпозиции
  2. Когда результат меняется реже источника: кнопка «наверх» по индексу скроллаправильный ответ
  3. Для загрузки данных из сети, когда меняется параметр запроса
  4. Когда результат меняется так же часто, как источник, например склейка имени

Разбор

derivedStateOf пропускает рекомпозицию, если результат не изменился, хотя изменился источник. Индекс прокрутки меняется постоянно, а булево «показывать кнопку» лишь изредка, поэтому выигрыш большой. Если результат меняется с той же частотой (например, "$firstName $lastName"), выгоды нет, достаточно remember(key). К сетевым запросам он отношения не имеет.

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

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