ReactJS перерисовывает / перерисовывает сгенерированное сервером представление

Итак, у меня есть это приложение, допустим, оно похоже на то, что Facebook публикует что-то на вашей стене,

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

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

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

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

Одна идея должна быть,

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

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

0

Решение

Чтобы React на клиенте / веб-браузере мог присоединиться к существующей структуре 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 на веб-сервере, вы должны полагаться на использование Ajax для извлечения данных. Вы можете визуализировать всю страницу через PHP, затем извлечь данные на клиенте и заново отрендерить страницу. Но вам нужно решить, имеет ли это смысл для вашего приложения и пользователей.

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

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]