Смотри я бы предложил тебе следующее решение. В ней одна проблема она с лоадером при загрузке данных.
У тебя страница index. В ней ты загружаешь список пользователей перед отрисовкой. Включаешь лоадер, загрузил данные, убрал лоадер. Отрисовал список.
По клику на пользователя меняешь роут на другую страницу. На этой странице загружаешь список url-ов фотографий и отрисовываешь их.
Проблема в том, что тут нужен стор или контекст. Для быстрого доступа к данным которые ты уже загрузил, чтобы не грузить 2ой раз.
Именно в твоем случае, если хочешь все данные хранить в state без подгрузки дополнительных данных, то используй альгорит с загрзкой данных, который описал выше, но все запросы оберни в Promise.all([ req1 , req2 ]), получил данные , преобразовал в нужный тебе вид. Положил в стэйт, поменял флаг, что данные загрузились и после показывай.
Храни данные в виде, так по id будешь быстро получать фоточки и передавать в компонент PhotoGallery
users: {
idUser: { ...data }
}
photos: {
idUser: { ...photos }
}