@isaevfeed

Как выводить информацию в React из базы?

Проблема в следующем - есть React-приложения, у которого есть какие-то компоненты с шаблоном для вывода данных. У меня созревает лишь один вопрос - как верно выводить данные из базы данных? Я понимаю, что React - Front-End фреймворк и таким заниматься он не умеет, но и подступиться к нему очень и очень сложно. Я нашел решение - отправляю AJAX-запрос к тому же Django (это сейчас не важно), получаю от него данные из базы, отдаю в state React-Component и получаю, в принципе, результат. Такое решение я нашел без использования WebPack и я думаю, что при определенном колдовстве я смогу связать это применив модуль http у Node, но тогда выходит еще больший гибрид - React+Node+Любой серверный язык (мутант какой-то).

Как вернее выводить данные в мое приложение? Правильно я делаю, используя AJAX-запрос для вывода информации из БД сервера? Кто подскажет? Нашел какую-то кашу в виде REST на Django + React, но это такой мусор, что мое решение выглядит приятнее) А как тогда иначе получать данные в React и делать это правильно? С React дружу хорошо и его архитектуру понимаю, а вот сейчас встал на стыке "нужно соединить front-end с сервером" и не понимаю куда копать)
  • Вопрос задан
  • 5811 просмотров
Пригласить эксперта
Ответы на вопрос 1
@abberati
frontend-разработчик
Вам нужны две системы работы с данными.

1. На сервере это будет любой json api.
Алгоритм следующий: сервер получает запрос в api, получает и обрабатывает данные из БД, потом отдаёт в ответ на запрос. В зависимости от языка будут различия в имплементации, но везде найдутся библиотеки.

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

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы