Вам нужны две системы работы с данными.
1. На сервере это будет любой json api.
Алгоритм следующий: сервер получает запрос в api, получает и обрабатывает данные из БД, потом отдаёт в ответ на запрос. В зависимости от языка будут различия в имплементации, но везде найдутся библиотеки.
2. На клиенте нужно хранилище данных (store) (можно и без него обойтись, просто прокидывая результаты запросов в компоненты, но в больших приложениях слишком усложняется управление данными. Есть redux, есть mobx, есть ещё куча разных решений.
Алгоритм такой: компонент при рендере понимает, что ему нужны данные и идёт в store, там данные, если их нет, подгружаются по ajax. При обновлении данных в store компонент получает уведомление и совершает ререндер.