Класс ES6, использующий состояние Redux - PullRequest
0 голосов
/ 01 ноября 2019

Я создаю простое приложение для синтезатора, используя пакеты React, Redux, TypeScript и Tonejs для обертывания веб-аудио API, с графическим интерфейсом, напоминающим настоящий синтезатор, с клавиатурой, регуляторами, ползунками и так далее.

Проблема, с которой я сталкиваюсь, заключается в том, что я не знаю, как сохранить мои различные параметры синтеза в единственном источнике истины.

У меня есть класс Synth, которыйОбертка вокруг объекта tonejs PolySynth и его методов.

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

Единственное решение, которое приходит мне в голову, - это вызывать методы синтеза непосредственно в редукторе, но на самом деле это не кажется жизнеспособным. Можно ли каким-то образом подписаться на хранилище приставок в теле класса Synth, чтобы оно автоматически обновляло свои параметры, как если бы это был компонент React?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...