Если у меня есть объект данных, как показано ниже
{
items: [
{id: 1, selected: false},
{id: 2, selected: false}
]
}
Выполнение этого через нормализатора дало бы мне что-то вроде
{
entities: {
1: {selected: false},
2: {selected: false}
},
result: {
items: [1, 2]
}
}
Обычно у меня есть компонент Items, который отображает состояние на реквизит, как это:
const mapStateToProps = (state) => {
return state.result;
};
У меня проблема с компонентом Items, у меня была бы кнопка сохранения, которая должна отправить состояние хранилища на сервер.
Мне не удалось найти хороший способ получить доступ к хранилищу для денормализации данных перед их отправкой на сервер.
1) Я предпочитаю не включать сущности в MapStateToProps, поскольку компоненту элементов не нужно знать об этом.
2) MergeProps также кажется неоптимальным из-за проблем с производительностью.
Прямо сейчас я обращаюсь к магазину напрямую, просто импортируя магазин и обращаясь к нему в моих методах отправки, которые, кажется, работают, но это нарушает разделение интересов, есть ли лучший способ сделать это?