Я делаю страницы функциональными компонентами которые состоят из контейнеров (а контейнеры в свою очередь из функциональных компонентов). Это позволяет легко ориентироваться на странице и добавлять или удалять элементы, это никак не повлияет на остальные.
Вот как пример https://gitlab.com/tsepen/star-wars-bb
Нужно из кук сохранить в стейт юзера при инициализации приложения, а дальше на нужно странице проверять - если есть юзер то рендерить нужный компонет, а если нет то делать переадресацию например на страницу авторизации