Как мне интегрировать React с Rails? - PullRequest
0 голосов
/ 11 июня 2018

Я знаю, что есть много подобной информации, но я не смог найти ничего конкретного для моего варианта использования ...

Я на рельсах 5.2, использую webpack, и реакция установлена ​​(и функционирование).Я пытаюсь обновить имеющуюся у меня сложную страницу фильтра, которая работает как очень большой фильтр с несколькими флажками (используя form_for с remote = true).Когда пользователь устанавливает флажок, AJAX-вызов поступает на рельсы и отображаются новые данные.Форма создается динамически на основе данных в моей базе данных postgres.

У меня есть базовый компонент фильтра реакции, уже созданный с использованием статических данных, и он обновляет состояние штрафа (все еще работает над созданием фактического запроса).Мне просто нужно какое-то направление с BEST (как в «наиболее правильном, который вы бы сделали для компании, в которой вы работаете, даже если она более сложная и занимает больше времени») способ передачи данных в мой компонент реагирования и их рендеринг сдинамические данные.

Я видел основные типы способов сделать это.Первая (что кажется ужасной идеей) - визуализировать фиктивный элемент div с атрибутами данных, а затем прочитать его в компонент реагирования.Второе - «сделать это в контроллере» или «использовать API».Означает ли это, что нужно настроить проект rails с конечной точкой API и вызвать его через компонент реагировать?Означает ли это, что вы используете существующие маршруты контроллера и делаете вызов таким образом?

edit: я также видел несколько драгоценных камней, которые используются, например, webpacker-реагировать, response_on_rails

1 Ответ

0 голосов
/ 12 июня 2018

В итоге я пошел по маршруту API.Однако при рендеринге на стороне сервера Rails я получал два запроса get, один раз через HTML и когда компонент снова смонтировал и сделал вызов API.Я закончил тем, что переключил весь интерфейс на React из-за этого ...

Должен быть более простой способ работать с этим ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...