На стеке react/redux есть запрос к api. Приходит примерно такие данные:
[
{...},
{...},
{...},
]
Массив с объектами, внутри объектов есть ещё поля с массивами объектов. С помощью normalizr, делаю нормализацию и получаю
result
и
entities
объекты. Поля из
entities
сохраняются в
store
. Затем стоит задача отсортировать по какому нибудь полю объект, но normalizr превращает массив в объект и становиться затруднительно его сортировать. Вопрос как сделать это правильно?
Мои варианты:
1. Делать сортировку до применения normalizr. Минус в том что тогда в store придется записывать данные не нормализованные, а то что с сервера пришло, или где-то на этапе после прихода данных с сервера дергать store, брать от туда по какому полю нужно сортировать, проводить сортировку и нормализовать его после этого.
2. После нормализации создать ещё один массив, в котором будут объекты с id и полями по которым можно отсортировать. Проводить сортировку на нем, потом перебирать его и подставлять id. Например:
entities.users[id]
. Минус в том что normalizr уже создает массив для перебора id
result
. Придется либо изменять его либо новый делать.
Если есть у кого-то опыт такой или идеи подскажите.