Моя функция делает 10 асинхронных c обращений к бэкэнду после изменения filterState. Я хочу, чтобы он вызывался один раз за изменение.
useEffect(() => {
const getQuery = async () => {
let query = filterActions.getQueryString()
taskService.get(query).then(res => {
console.log('tasks res', res)
setQueriedTasks(res)
})
}
getQuery()
}, [filterState])
Как обновить фильтр
const updateFilter = (updates) => {
dispatch({type: 'SET_FILTER', payload: updates})
}
Мой редуктор для обновления состояния
function reducer(state, action) {
switch (action.type) {
case 'SET_FILTER':
return Object.assign({...state}, action.payload)
}
}