как отправлять гет запрос каждые 5 секунд на react js axios

Столкнулся с проблемой, что мне нужно каждые 5 секунд получать данные и отрисовывать их.

Пробовал пользоваться setInterval, но он отправлял вместо одного запроса 2 (один запрос со старыми данными).
Решил попробовать setTimeout, но он срабатывает только один раз, как только данные поменяются и запрос отправится. Больше запросов нет, вот структура запроса:

useEffect(() => {
    const get = () => {
      axios
        .get(
          `apiurl{currentFrom}&to=${currentTo}&limit=50`
        )
        .then(function (response) {
          dispatch(setitemExchangeRatesReducer(response.data.data));
          console.log(response.data.data);
        })
        .then(function (response) {})
        .catch(function (error) {});
    };

    setTimeout(get, 3000);
  }, [currentTo, currentFrom]);

Ответы (0 шт):