Вам стоит настроить бекэнд таким образом, чтобы он возвращал статус 304 Not Modified, если данные не изменились.
То есть вы каждый раз (« при каждом переходе по роуту») отправляете запрос на сервер. Если данные изменились, то сервер возвращает вам новые данные, если нет — возвращает пустой ответ со статусом «Без изменений». Как именно это сделать — задача бекэнд-разработки.
Здесь подробнее на эту тему:
https://ruhighload.com/post/%D0%9A%D0%B5%D1%88%D0%...
Если вам нужно обновление без перехода на другую страницу мгновенно (например для сообщений в чате), то вам необходимо использовать протокол WebSockets, с помощью которого вы будете подписываться на изменений, а бекэнд будет самостоятельно уведомлять фронтенд об изменении данных. Материалов о вебсокетах много, реализация зависит от языка. Про JS:
https://learn.javascript.ru/websockets
Можно настроить простое кеширование на бекэнде — запрос будет обрабатываться, но обращения к БД не будет происходить, таким образом не страшно, что вы будете отправлять запросы часто.
Периодические (по таймеру) запросы на сервер — самое неэлегантное решение, использовать его не стоит.