假设我们有以下情况:我们有一个带有帖子提要的博客。当页面加载时,应该已经有 3 <PostCard>
s 在服务器端加载、创建;用户将向下滚动或按加载更多按钮,一些新的明信片将动态添加到页面中。
我有 Hack 的 XHP 组件 <PostCard>
我们有 ReactJS 组件 <PostCard>
.
那么,我应该:
- 在客户端的 React 中实现整个过程,并拥有 XHP 组件的
render()
仅方法constructReactInstance()
? (我曾经做过类似的事情,但我注意到页面加载有一些延迟,类似于“滞后”)。 - 在服务器端和客户端两次实现该组件? (这真是太痛苦了……)
- 还有什么……?
我希望我说清楚了,有人能够帮助我: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/