Итак, у меня есть это приложение, допустим, оно похоже на то, что Facebook публикует что-то на вашей стене,
Все отображается на PHP-сервере / Codeigniter Framework и отправляется клиенту, мне нужно, чтобы эти сообщения отображались с использованием ReactJS, потому что у меня есть удивительные вещи, которые мне нравится делать внутри каждого из этих сообщений
Я НЕ ХОЧУ ИСПОЛЬЗОВАТЬ V8JS, потому что клиент не может играть с серверами php, просто нужен скрипт php, чтобы все было,
Есть мысли, как я могу это сделать, ребята? Спасибо,
Одна идея должна быть,
Загрузите посты как серверные, а затем выполните запрос GET и снова выведите те же посты, используя ReactJS? Будет ли это работать?
Или есть способ прикрепить все функции и события ReactJS к html-странице, отображаемой на сервере?
Чтобы 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 для интерактивных разделов вашей веб-страницы и создавать их целиком на клиенте по мере необходимости.
Других решений пока нет …