Всем привет, подскажите, как лучше и правильнее делать.
Делаю сортировку по гендеру чередь экшн\редьюсер в редакс. Нашел пару примеров в сети где показывают явно что можно не выводить отсортированный массив в отдельное состояние(стор) редакс, а просто делать slice().sort() и ретурнить поверхностно скопированный массив обратно
case SORT_BY_GENDER:
return {
...state,
action.payload.slice().sort(function (a, b) {
return a.gender - b.gender
})
}
Т.е алгоритм - вызываю экшн из компонента - sort, туда не передаю payload(как?), далее редакс сортирует скопированный через slice state и возвращает мне в компонент его? Так?
Пытался подогнать под свой код данный кусок, но если использую его, то как в данном момент быть с экшеном, который отдает payload?
В компоненте вызываю dispatch -
const sortingPeoples = () => {
dispatch(sortByGender(peoples)) \\peoples в данном случае массив состояния который мне пришел в компонент из редакс из первого фетч.
}
Экшн -
export const sortByGender = (sortPeople) => ({
type: SORT_BY_GENDER,
payload: sortPeople,
});