Last active
October 15, 2016 00:47
-
-
Save andrevinsky/45ec2927d3da4d8e2b8063799c8f3f82 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Как вы привязываете логику приложения к срабатыванию какого-то действия (action, FSA)? | |
Вот, к примеру, приложение получило от сервера пакет элементов. Понятно, что есть редьюсер, | |
который эти элементы сложит куда-то; может, даже взведёт какой-то флаг, что, мол, данные | |
получены. И какой-то компонент даже отрисует их. | |
Но вот живет в приложении какая-то другая сущность, которая, должна сделать какую-то трансформацию | |
над элементами и принять решение, надо ли еще совершать какие-то действия (подгрузить новую порцию, | |
обновить флаги в профиле пользователя и тп). | |
Так вот, разбор элементов по ключам для обновления кеша - эта логика легко ложится на редьюсер. | |
А вот вызов последующего действия, очевидно, должен лежать, скажем, либо в асинх-экшенах, либо | |
в компонентах. НО.. | |
Получается, то логика обработки данных приложения размазывается. Есть стройное приложение ToDo | |
- там вся логика - внутри редьюсеров. А в ситуации, что я описал, оказывается, требуется некая | |
мета-логика, и храниться она может где угодно. | |
Наверняка, вы сталкивались с описанной мной проблемой. Как вы поступали в таких случаях? |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment