У меня есть приложение response-redux , в котором существует определенный action -creator (функция получает любой заголовок для фильтрации списка объектов):
export const filterTests = (title) => dispatch => {
axios.get(`/api/tests/?title=${title}`)
.then(res => {
dispatch({
type: GET_TESTS,
payload: res.data
});
dispatch({
type: FILTER_TESTS,
payload: { title }
});
})
.catch(err => console.log(err))
}
И редюсер :
export default function (state = initialState, action) {
switch (action.type) {
case GET_TESTS:
return {
...state,
tests: action.payload,
};
case FILTER_TESTS:
return {
...state,
tests: state.tests.filter((test) => test.title.includes(action.payload.title)),
};
default:
return state;
}
}
Работает, но я думаю, что лучше переместить фильтрующий ligi c в другое место (особенно если я хочу усложнить действие):
tests: state.tests.filter((test) => test.title.toLowerCase().includes(action.payload.title.toLowerCase()))
Куда лучше перенести этот логи c?