Правильно ли и как удалить классы из приложения React с помощью Redux?

В React Native (и, следовательно, в React), использующем Redux, у нас есть ограничение, заключающееся в том, что мы не должны хранить несериализуемые данные, поэтому каждый отдельный экземпляр класса становится простым объектом. Итак, я думаю, что больше нет смысла использовать классы.

Например, если мое приложение представляет собой приложение для управления автопарком, возможно, у меня будут такие сущности, как Car, User и т. д.

Теперь мой вопрос: где бы вы управляли созданием экземпляров? В классическом ООП я просто делаю new Car();, но в этом случае, может быть, правильнее будет dispatch создатель действия выполнит требуемую операцию, так что dispatch(makeCar()), это правильно?

А что, если у меня есть вычисляемое свойство, например get age?

Я совсем новичок в этом мире...


person limdev    schedule 21.09.2020    source источник
comment
Представьте, что хранилище избыточности — это база данных. Он должен содержать только простые данные. Если вы хотите создать объекты домена из этого, вам понадобится инструмент, который может создавать их экземпляры с учетом данных из вашего хранилища или записывать их в хранилище как простые данные с учетом объекта домена.   -  person trixn    schedule 21.09.2020
comment
Или, другими словами, вам понадобится ORM, например, есть redux-orm, но это может не соответствовать вашему варианту использования или существующему коду.   -  person trixn    schedule 21.09.2020
comment
@trixn, поэтому было бы правильно иметь классы и просто: 1-создать новый экземпляр с помощью конструктора класса; 2-сериализовать любой объект внутри действия, которое хранит его в хранилище избыточности; 3-выполнить снова конструктор, когда мы получим экземпляр из хранилища избыточности; ???   -  person limdev    schedule 21.09.2020
comment
Да грубо говоря, что было бы нужно. Но есть и другие операции, такие как обновление уже созданного объекта домена. Создание оболочки вокруг избыточности, которая управляет созданием, обновлением и удалением объектов домена, является нетривиальной задачей. Вы можете взглянуть на redux-orm, чтобы узнать, как они справляются с этим. Но это изрядное количество накладных расходов, связанных с таким стилем ООП. Redux, вероятно, не лучший вариант для этого.   -  person trixn    schedule 21.09.2020
comment
Также см. этот ответ на аналогичный вопрос: stackoverflow.com/a/43721911/5005177   -  person trixn    schedule 21.09.2020