Поясніть redux data flow
Життєвий цикл даних у будь-якій Redux-програмі включає 5 кроків:
1 - викликається dispatch(action). Action - це простий javascript-об'єкт, який описує що трапилося.
2 - action потрапляє в middleware, і якщо це необхідно, запускає якийсь сайд-ефект.
3 - redux-стор викликає функцію-редюсер із двома аргументами: поточне дерево стану (state) та екшен (action).
4 - головний редюсер може комбінувати результат роботи кількох редюсерів у єдине дерево стану програми.
5 - redux-стор зберігає повне дерево стану, яке повертає головний редюсер.