Каков простой подход для рендеринга реагирующего компонента на стороне сервера? - PullRequest
0 голосов
/ 20 декабря 2018
  1. Я создал отдельное приложение реакции, используя create-Reaction-app.Разработал несколько простых компонентов, таких как
  2. npm run build
  3. Я скопировал все из папки сборки и поместил в общую папку rails
  4. Внутри одного рельса просмотрите файл erb, который я только что попробовал <HelloWorld />, но, похоже, это не работает.Компонент не рендерится.

(Примечание: я знаю, что реактивные рельсы и реактивные рельсы есть немного драгоценных камней, но я просто хочу понять, почему вышеупомянутый подход не работает)

1 Ответ

0 голосов
/ 20 декабря 2018

<HelloWorld /> в приложении React на самом деле является JSX - то есть Babel - на заднем плане - переводит эту разметку в функцию Javascript, которая создает экземпляр компонента HelloWorld React (в контексте метода рендеринга).

Итак, несмотря на то, что выглядело как HTML, на самом деле это не так.А копирование его в файл erb, который ожидает действительный HTML (за пределами разделителей <%= %> и т. Д., Которые указывают код Ruby), означает, что Rails ничего не рендерит.

Если вы хотите визуализировать компонент React в Railsесли смотреть в ванильном приложении Rails, вам придется делать это с помощью Javascript.

Редактировать: я как-то только что заметил упоминание "рендеринга на стороне сервера" в вашем вопросе.Для этого требуется среда выполнения Javascript на сервере и код React, работающий в этом контексте, как часть процесса рендеринга.В ванильном приложении Rails нет ничего, что могло бы сделать это за вас.

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