Я так понял вам нужно фильтровать элементы списка.
Если вы храните данные локально то можно пойти двумя путями:
1. Хранить в store два экемпляра фильтра. Превый полный, второй отфильтрованный.
Тогда вы в компонет передаёте только отфильтрованный список.
Вам нужен будет нужен redux-thunk (
немного о нём) (или redux-saga). Создайте action creator.
Например с redux-thunk
// signObj - данные для фильтрации
/*
signObj = {
model: 'audi',
year: '2007',
type: "benzin"
}
*/
const filterAction = (signObj) => {
return (dispatch, getState)=>{
let filtredList = [ ...getState().noFilterList]; // Не фильтрованный список
Object.keys(signObj).map((signName)=>{
filtredList.filter((item)=>( item[signName] === signObj[signName]))
});
dispatch({ type: SET_FILTRED_LIST, payload: filtredList}); // устанавливает state.filterdList
}
}
// Можно собирать signObj предварительно в store
2-й вариант. Получать польный список и список полей со значением в самом компонете и делать последовательно фильтрацию уже там