При загрузке приложения или при перезагрузки страницы, состояние приложения уже не знает про то, что мы авторизованы.
Почему? Если тебе сервер отдает токен при авторизации, то и сохраняй его в куках.
Далее, если адрес сервера совпадает с адресом веб страницы, то браузер автоматически будет отправлять куки в каждом запросе, т.е. любой твой запрос на сервер будет проходить проверку авторизованности и никакой логики тебе писать не придется.
При перезагрузке страницы, если данные профиля не пришли по причине того, что ты не авторизован, то отправляй пользователя на страницу логина.
Я, наверное, создал бы ячейку в localStorage и записал бы туда данные пользователя.
При загрузке, если ячейка имеется, то временно мы в состоянии приложения будет авторизованы, в то же время, мы отправим запрос на сервер за пользовательскими данными.
Нет смысла использовать localStorage и тебе показывать нечего пользователю при наличии этой ячейки. Делай запрос, а сервер тебе вернет или не вернет данные. Все просто.