javascript - 如何成功混合组件的 XHP 和 ReactJS 实现

标签 javascript reactjs hacklang xhp

假设我们有以下情况:我们有一个带有帖子提要的博客。当页面加载时,应该已经有 3 <PostCard> s 在服务器端加载、创建;用户将向下滚动或按加载更多按钮,一些新的明信片将动态添加到页面中。

我有 Hack 的 XHP 组件 <PostCard>我们有 ReactJS 组件 <PostCard> .

那么,我应该:

  1. 在客户端的 React 中实现整个过程,并拥有 XHP 组件的 render()仅方法constructReactInstance() ? (我曾经做过类似的事情,但我注意到页面加载有一些延迟,类似于“滞后”)。
  2. 在服务器端和客户端两次实现该组件? (这真是太痛苦了……)
  3. 还有什么……?

我希望我说清楚了,有人能够帮助我:smile_cat:

最佳答案

据我所知,没有开源解决方案可以在 HHVM 服务器上呈现 React,因此您必须在某个地方进行权衡。让 XHP 调用 RenderReactInstance 的方式是集成 XHP 和 React 的一种有效解决方案,但在页面加载、解析和执行 JS 时,您会感受到“滞后”。缓存可以提供帮助,但仍然需要解析和运行 JS。或者,您可以将其作为 XHP 组件,并将 React 组件保存为较小细节的项目。具体来说,如果评论部分是主要的交互组件并且可以比其他组件稍晚加载,那么您可能只希望评论部分是 React。这将使博客文章内容在页面加载时呈现,但您可能必须编写其他非 React JS 来处理新组件的异步加载。这都是一种权衡,我认为你只需要确定你认为什么对你更重要。

关于javascript - 如何成功混合组件的 XHP 和 ReactJS 实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37065532/

相关文章:

php - 混合 PHP/Hacklang : Use the typechecker on regular PHP with commented type annotations

javascript - String.slice 和 string.substring

javascript - 当您使用 javascript 插入 javascript 小部件时会发生什么?

javascript - JS chrome 控制台数组未扩展

reactjs - 为什么在使用useCallback时使用 'ref'而不是直接使用useCallback

PHP:发送选项列表作为参数(替代命名参数/参数包)

javascript - 音频结束,重新排列变量并播放另一个音频

javascript - 在 SVG 文件中将文本作为 prop 传递 - React

javascript - Redux,获取所有状态而不是我通过的状态

vector - 内置用于检查 vec 是否包含指定元素