А теперь вопрос такой. Есть приложение на редаксе, простенькая игра (даже без canvas, все совсем просто). И есть в этой игре звуки. Звуки завязаны либо на действия пользователя, либо на изменение состояния игры (которое прописано в редьюсерах). Например, пользователь правильно решил головоломку, и проигрался звук “ПОБЕДА”. Вопрос.
Где место методу, который проигрывает этот звук “ПОБЕДА”? В редьюсере (где проверяется условие победы) или во view-компоненте (например, родительском)?
По идее, если я проигрываю это в редьюсере, то все очень удобно, но мы теоретически теряем разделение view и логики. Плюс часть этих звуков оказывается в редьюсере, а часть — в компоненте, в ответ на действия пользователя (хотя эту часть тоже можно запихнуть в редьюсер).
Если же я проигрываю это в компоненте, то вся интерфейсная часть хранится во view — но теперь надо частично дублировать эти проверки в componentWillReceiveProps и вообще активно следить, что изменилось, что не очень удобно.
В общем, у обоих решений свои преимущества и недостатки. Как вам кажется, что православней и чревато меньшими проблемами в будущем?