Выбор ответа Senior Compose: состояние и side-effects обновлено
Когда нужен derivedStateOf
Вопрос
В каком случае derivedStateOf действительно полезен?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Когда результат меняется реже источника: кнопка «наверх» по индексу скролла. derivedStateOf пропускает рекомпозицию, если результат не изменился, хотя изменился источник.
Варианты ответа
- Для любого вычисления в composable, чтобы оно не повторялось при рекомпозиции
- Когда результат меняется реже источника: кнопка «наверх» по индексу скроллаправильный ответ
- Для загрузки данных из сети, когда меняется параметр запроса
- Когда результат меняется так же часто, как источник, например склейка имени
Разбор
derivedStateOf пропускает рекомпозицию, если результат не изменился, хотя изменился источник. Индекс прокрутки меняется постоянно, а булево «показывать кнопку» лишь изредка, поэтому выигрыш большой. Если результат меняется с той же частотой (например, "$firstName $lastName"), выгоды нет, достаточно remember(key). К сетевым запросам он отношения не имеет.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.