react, redux, saga - бесконечные запросы
Есть приложение на React, у него есть функциональный компонент, в который закидываю в props action, и его вызываю в useEffect:
const { Action } = props;
React.useEffect(() => {
Action()
}, [])
Есть reducer, который кладет данные в store, и с помощью saga получаем данные:
function* getAction() {
try {
const response = yield call(Request.get, 'api/getAction', {}, true)
if(response !== false) {
yield put(actions.Action(response.data));
} else {
throw new Error()
}
} catch (err) {
console.log(err)
NotifyManager(err)
}
}
Все работает правильно: по redux dev tools, видно что данные попадают в store. Если написать console.log или еще что-то в useEffect то оно выполнится один раз, но сама функция-генератор saga, начинает выполнятся бесконечное количество раз, и запросы бесконечно отправляются, и в store каждую секунду попадают одни и те же данные. С остальными actions и sagas таких проблем нет, все работает корректно. Для создания actions использую redux-act. Если кто-то знает или есть предположения, я очень буду благодарен. Так же если необходима дополнительная информация пишите.
export default function* watcher() {
yield takeLatest(actions.getAction, getAction)
}