useEffect
запускается даже при том, что массив зависимостей имеет постоянный объект.
Я попытался извлечь логику и поместить объект в useState
const payload = {
limit: 5,
offset: 0,
filterBy: 'All',
};
useEffect(() => {
const defaultPayload = {
limit: 10,
offset: 0,
filterBy: 'All',
};
dispatch({ type: RANDOM_CONST, payload: payload || defaultPayload });
}, [dispatch, payload]);
Это должно сработать толькокогда payload
изменится. Поскольку payload
является константой, она должна выполняться только один раз и отмечать бесконечное число раз.