@sanex3339

Redux, парочка вопросов?

Ковыряю Redux, написал небольшой проектик (1000 строк), появилось парочка вопросов.

1)

Есть св-во state'а - `type`, которое может иметь значение `typeA`, `typeB` или `typeC` (радиокнопки), а так-же объект с дефолтными данными вида:
{
    typeA: {//... defaults},
    typeB: {//... defaults},
    typeC: {//... defaults}
}


Раньше этот объект с дефолтными данными был частью state'а, а сейчас я его вынес в отдельный класс с методом `getDefaultByType(type)`, и везде, где нужно получить дефолтные данные для текущего `type`, я вызываю этот метод.

Правилен ли такой подход с дефолтными данными?

2)
В state есть некоторые св-ва, которые зависят от св-ва `type`. Например св-во `price`.
Для каждого `type` есть массив доступных цен. При инициализации 1-я цена из массива помещается в св-во `price` (далее она уже контроллируется выпадающим списком).

`type` прописан в `initialState`, но что мне делать с `price`, который зависит от `type`?
- прописать вручную правильный `price` для `type` в `initialState`, при том, что если вдруг `type` при инициализации изменится, нужно будет изменить и `price`?
- или же сделать side effect, который будет срабатывать при инициализации state'а (ngrx, при инициализации state'а выполняется специальный экшн, который side effect и ловит) и на основе текущего `type` выбирать правильный `price`?

Сейчас я использую 2-й вариант, side effect при инициализации state'а берет значение св-ва `type` и выполняет 5 экшнов на заполнение зависящих от `type` св-в state'а.
  • Вопрос задан
  • 134 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы