所以我有这个应用程序,让我们说它类似于Facebook在你的墙上发布的东西,
所有内容都是在PHP / Codeigniter上呈现并发送给客户端的,我需要使用ReactJS来呈现这些帖子,因为我喜欢在这些帖子中做一些很棒的事情
我不想使用V8JS,因为客户端不能玩php服务器,只需要php脚本就行了,
有什么办法让我这么做吗?非常感谢,
一种想法是,
加载服务器呈现的帖子,然后执行GET请求,然后使用ReactJS再次呈现相同的帖子?那能行吗?
还是有一种方法可以将所有ReactJS函数和事件附加到呈现的html页面的服务器上?
发布于 2015-05-29 04:18:42
为了在客户机/web浏览器上作出反应,将其附加到现有的DOM结构(例如服务器呈现),它使用一个名为data-react-checksum
的属性,该属性被添加到根DOM元素中。例如,调用React.renderComponentToString
将包含此属性。
<div data-react-checksum="452232529">
当您在同一个根元素上调用renderElement
时,React作为普通调用render
执行,等等。但是,在render
循环结束时,将data-react-checksum
与本地计算的data-react-checksum
进行比较。如果该值与DOM (由服务器提供)中的内容相匹配,则Virtual将附加到现有的DOM元素。但要做到这一点,正如我提到的,它必须完全匹配。
此外,您还需要在DOM元素上包含data-reactid
属性,这些元素通常与React的虚拟DOM相关联。
如果无法在web服务器上执行React呈现管道,则应该使用Ajax来获取数据。您可以通过PHP呈现整个页面,然后在客户端获取数据并重新呈现页面。但是,您需要决定这对您的应用程序和用户是否有意义。
我建议您考虑只对web页面的交互部分使用React,并根据需要在客户机上构建这些部分。
https://stackoverflow.com/questions/30527842
复制相似问题