тобишь, вот есть у вас стейт-менеджер, вы загрузили первую страницу, там 24 айтема товаров, вы положили его в стейт → теперь загрузили вторую страницу и в стейт запихнули ещё 24 айтема → теперь у вас в стейте в массиве 48 айтемов → пользователь ушёл в другой раздел → потом вернулся в раздел товаров → как теперь вы отдаёте айтемы товаров, у вас есть сохраненные в стейте 48 айтемов, 2 страницы, как определяете, что можно не делать GET-запрос для первой страницы? Потом юзер прокрутил страницу, нужно вывести ещё 24 айтема, они у вас уже есть, как определяете, что можно и на вторую страницу не делать GET-запрос? И так далее.
Ну так просишь у сервиса 24 айтема с каким-то отступом от начала (skip 48, page 3, как душе угодно), если они есть в кэше, то сервис их него выдаёт, если нет - делает запрос