Я хочу моделировать простой видеоплеер. Он имеет 3 основные функции:
У меня есть следующий набор доступных мне вариантов:
3 Действия. 3 создателя немого действия. Вся логика для валидации будет жить в редукторах.
1 Действие. 3 создателей действий с доступом к getState
.
1 Действие. 1 Создатель действия. Далее и превью создаются в функции select
при сопоставлении от props
state
к компоненту.
Какие варианты я должен выбрать и почему?
Меня больше интересует идиоматический подход, чем о том, чтобы он работал (все 3 будут работать imo)
Я думаю, вы должны рассмотреть свой первый вариант, но добавить всю логику в создателя действия и в редуктор.
Причины: у вас есть три различных действия, переход на следующий/предыдущий и т.д., Которые логически соответствуют трем отдельным действиям (скорее всего, явно пользовательским в пользовательском интерфейсе).
Создатель действия позволяет вам уменьшить редукцию и отвечать только за обновление состояния (поэтому редукторы могут быть легко скомпонованы).
Кстати, в redux вы можете добавить свою бизнес-логику как для создателей действий, так и для редукторов, это действительно зависит от вашей настройки и организации, и нет правильного/неправильного.
Интересная статья: http://redux.js.org/docs/faq/CodeStructure.html#structure-business-logic