У меня есть целевая страница, которая содержит 3 разные формы. На данный момент, целевая страница не обязательно должна быть подключена к Redx, данные статичны и не изменятся. Однако формы извлекают данные и позволяют пользователю отфильтровывать параметры на основе конкретной службы, которой они соответствуют и которая связана с redis. Формы практически идентичны по внешнему виду и функциональности, но все они имеют разные конечные точки.
Чтобы помочь мне объяснить здесь, это грубое отображение форм. S # - это выпадающий список, а кнопка - это ссылка, которая ведет пользователя на страницу с дополнительной информацией о выбранных значениях.
|------------|
| FORM |
|------------|
|-----s1-----|
|-----s2-----|
|-----s3-----|
|--[button]--|
Если в s1 внесено изменение, он инициирует вызов API, который извлекает допустимые параметры для s2 и s3 и изменяет ссылку для кнопки. Аналогично, если s2 изменяется, комбинация выбора в s1 и s2 определяет параметры в s3.
В основном это работает, чтобы формы использовали те же редукторы и действия, но просто имели разные URL в зависимости от конечной точки API, передаваемой в форму через реквизит.
Вопрос в том, имеет ли смысл иметь эти 3 отдельных хранилища через ключ хранилища, передаваемые в соединение activ-redux, или они должны быть в одном хранилище, но затем регистрировать редуктор верхнего уровня на основе некоторого уникального ID
Итак, 3 магазина со следующей структурой данных верхнего уровня
{
selected: { [field: string]: string }
options: { field: string]: string[] }
}
Или что-то вроде одного магазина, и каждая форма регистрирует редуктор с formId
?
{
[formId: string]: {
selected: { [field: string]: string },
options: { field: string]: string[] }
}
}