На сервере, ты следишь за запросами аля api/users и отдаешь в Json данные. парсишь их в js, как тебе нужно.
Так же на сервере. всегда возвращаешь одну и туже вьюху, а react сам разбирается, что показать клиенту, используя внутренний роутинг.
Там же он и делает запросы к "api" куда и как обратится, какие данные ему нужны.