2015-06-26 2 views
0

Я разрабатываю простой аудиоплеер в потоке/реакции с использованием аудиокомпонент html5.Flux with React Аудиокомпонент в одном направлении

Я понимаю, что одним из ключевых принципов потока является то, что данные должны проходить в одну сторону.

действие -> магазин -> компонент

"магазин" должен быть источником истины.

Я столкнулся с трудностями, следуя этим принципам в этом конкретном сценарии, потому что данные должны быть получены из аудиокомпонентов, например, продолжительность mp3 является частью аудио-компонента api, а также текущей позиции.

Я подумал, что, возможно, я мог бы использовать действие, чтобы передать все исходные данные и обновить его с новыми позициями трека (так как пользователь играет в клип), но это кажется действительно уродливым ... как я могу соблюдать флюс принципы с этим в виду?

ответ

3

Один из создателей React Router любит говорить: «Кто владеет данными?» Если это приложение, то оно принадлежит в магазине. Если он полностью содержится внутри компонента, этот компонент может управлять своим собственным состоянием.

В этом случае, я думаю, лучший случай заключается в том, что он должен обрабатываться самим компонентом. Возможно, если аудио прерывается/приостанавливается, это действие может, в свою очередь, уведомлять магазин, который может сохранить позицию, и т. Д., Но это, вероятно, только верно, если на странице есть только один игрок.

+0

Спасибо, Hal, это реализация, с которой я закончил, я думаю, что это имеет смысл. – Melbourne2991

 Смежные вопросы

  • Нет связанных вопросов^_^