Skip to content

Instantly share code, notes, and snippets.

@andrevinsky
Last active October 15, 2016 00:47
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save andrevinsky/45ec2927d3da4d8e2b8063799c8f3f82 to your computer and use it in GitHub Desktop.
Save andrevinsky/45ec2927d3da4d8e2b8063799c8f3f82 to your computer and use it in GitHub Desktop.
Как вы привязываете логику приложения к срабатыванию какого-то действия (action, FSA)?
Вот, к примеру, приложение получило от сервера пакет элементов. Понятно, что есть редьюсер,
который эти элементы сложит куда-то; может, даже взведёт какой-то флаг, что, мол, данные
получены. И какой-то компонент даже отрисует их.
Но вот живет в приложении какая-то другая сущность, которая, должна сделать какую-то трансформацию
над элементами и принять решение, надо ли еще совершать какие-то действия (подгрузить новую порцию,
обновить флаги в профиле пользователя и тп).
Так вот, разбор элементов по ключам для обновления кеша - эта логика легко ложится на редьюсер.
А вот вызов последующего действия, очевидно, должен лежать, скажем, либо в асинх-экшенах, либо
в компонентах. НО..
Получается, то логика обработки данных приложения размазывается. Есть стройное приложение ToDo
- там вся логика - внутри редьюсеров. А в ситуации, что я описал, оказывается, требуется некая
мета-логика, и храниться она может где угодно.
Наверняка, вы сталкивались с описанной мной проблемой. Как вы поступали в таких случаях?
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment