Как упростить работу с нормализованными массивами в react-redux приложении?
Всем привет! :)
В данный момент занимаюсь клиентской частью приложения, где в redux - store практически все данные хранятся в нормализованном виде. В том числе массивы, которые вместо привычного формата, имеют примерно такую конфигурацию: {byID: {}, IDs: []}. Из очевидных плюсов такого подхода - быстрой поиск элемента по его id. Но, когда такой массив передается через пропсы реакт - компоненту, начинается боль. Метод render() становится более сложным для чтения, для сравнения - отображение денормализованного массива имеет примерно такой вид:
list.map ( item => item.caption ), а нормализованного - list.IDs.map ( id => list.byID[id].caption ). Говорить о более сложных операциях, по типу фильтрации не приходится - замысловатость методов возрастает в разы.
На данный момент, видится 2 подхода: денормализовывать массив в соответствующем selector-е, либо отказаться от нормализации массивов в принципе, и хранить их в redux - store "как есть".
Собственно, вопрос: какой из этих двух подходов является более оптимальным, и существуют ли альтернативы.
честно говоря проблема надумана чуть менее чем полностью, разве что IDs вместо более привычного ids глаза немного режит и но это вкусовщина и соглашения внутри команды
не парьтесь, хватает гораздо более насущих проблем ))