2015-05-29 5 views
0

Так у меня есть это приложение, позволяет сказать, что это похоже на Facebook разместить что-то на стене,ReactJS повторно вынести/перерисовать вид сервера генерируется

Все визуализируется на PHP сервере/CodeIgniter Framework и отправляется клиенту , мне нужно эти посты должны быть визуализированы с использованием ReactJS, потому что у меня есть удивительные вещи, которые мне нравятся, чтобы сделать внутри каждого из них после

  1. Как
  2. комментарий
  3. Редактировать/отчет

Я НЕ ХОЧУ ИСПОЛЬЗОВАТЬ V8JS, потому что клиент не может играть с серверами PHP, просто нужен скрипт PHP для работы, что именно,

Есть мысли, как я мог бы сделать это, ребята? Большое спасибо,

Одна из идей заключается, может быть,

Загрузите сообщения как сервер визуализации, а затем сделать запрос GET и сделать те же сообщения, снова используя ReactJS? Будет ли это работать?

Или есть способ привязать все функции и события ReactJS к серверной странице html?

ответ

0

Для ответа на клиентский/веб-браузер для присоединения к существующей структуре DOM (например, для визуализации сервера) используется атрибут data-react-checksum, который добавляется в корневой элемент DOM. Например, вызов React.renderComponentToString будет включать этот атрибут.

<div data-react-checksum="452232529"> 

При вызове renderElement на том же корневой элемент, React выполняется как нормальный вызывая render и т.д. Но, в конце render цикла data-react-checksum сравнивается с тем, что было локально вычислен. Если значение соответствует тому, что уже было в DOM (предоставлено сервером), Virtual DOM присоединяется к существующим элементам DOM. Но для этого, как я уже говорил, он должен точно соответствовать.

Кроме того, вам необходимо также включить атрибут data-reactid в элементы DOM, которые обычно ассоциируются с виртуальной DOM React.

Если вы не можете выполнить конвейер React render на веб-сервере, вы должны полагаться на использование Ajax для извлечения данных. Вы можете отобразить всю страницу через PHP, затем извлечь данные на клиенте и повторно отобразить страницу. Но вам нужно решить, имеет ли это значение для вашего приложения и пользователей.

Я предлагаю вам рассмотреть возможность использования React для интерактивных разделов вашей веб-страницы и при необходимости сконструировать их на клиенте.

+0

Если вы видите это https://jsfiddle.net/69z2wepo/9249/, см. Html и как я могу использовать rej-рендер rej render html, отправленный с сервера? Пожалуйста, обновите скрипку :) – Sahan

+0

Я не понимаю, что вы имеете в виду. Вам нужно будет написать компоненты React, которые отражают структуру вашего PHP-кода. В jsfiddle ничего не обновлять. – WiredPrairie

+0

@ user3656084, если вы создаете html в php на сервере и хотите отобразить тот же материал в файле response.js, вам нужно написать все дважды. Вот почему люди запускают JS на сервере, и если вы не можете этого сделать, других ярлыков нет. – FakeRainBrigand

Смежные вопросы