Артур Артиков @a_artikov
Тимлид, Android-разработчик
Information
- Rating
- Does not participate
- Location
- Санкт-Петербург, Санкт-Петербург и область, Россия
- Date of birth
- Registered
- Activity
Specialization
Mobile Application Developer
Lead
Android development
В разделе "Проблема" ставится задача "Отобразить ленту с двумя типами данных — текст с описанием и картинка", а в разделе "Решение" решается другая задача.
Нужно организовать состояние так, чтоб оно состояло из двух частей:
1) Основное состояние — оно изменяемое, его можно менять достаточно свободно, не нарушая при этом никаких зависимостей.
2) Производное состояние — напрямую менять его нельзя, оно пересчитывается автоматически как чистая функция от основного состояния.
Пример:
Похожие идеи можно увидеть в библиотеке MobX, которая достаточно популярна во фронтенд-мире.
Тогда loading, isBannerShowing, isCreditDialogShowing из вашего примера были бы отдельными наблюдаемыми полями. А вместо processAction стало бы:
Чем это хуже?