Попробуйте посмотреть на MobX, если вам близок ООП-подход. Стейт вашей страницы товара можно оформить в виде отдельного класса, который передается в пропс компонента-обертки вашей страницы и все вложенные компоненты могут быть так же завязаны на этот стейт. При переходе на другую страницу выполняете новый запрос и обновляете поля этого класса, которые помечены как отслеживаемые для библиотеки MobX.
Вот
здесь есть примеры кода.