Вы сами себе противоречите, HOC и работает так, что он оборачивает каждый запрос/компонент. Бросаем клиента на экран логина, а что делать с его запросом на ваш вкус - хотите, храните состояние и после авторизации повторяйте запрос, хотите не храните. Нет тут правильного решения, есть только логика ту, что вы завяжете. Старайтесь делать все части приложения слабосвязанными, например клиент заполняет форму, сохраните поля локально в браузере, у него нет активного токена, кидаем его на логин, запоминая предыдущий роут, после авторизации смотрим, есть ли запомненный роут, если да - кидаем его обратно, а для формы подтягиваются данные, те что мы ранее сохранили. В чем прикол описывать банальную логику, если в каждом проекте это индивидуально?