Javascript 如何使React路由器呈现来自服务器的交互式输出?
我现在正试图使用Javascript 如何使React路由器呈现来自服务器的交互式输出?,javascript,node.js,express,reactjs,react-router,Javascript,Node.js,Express,Reactjs,React Router,我现在正试图使用react路由器,使用express.js。我的最终目标是: 当URL到达服务器时,它将使用服务器端呈现来呈现输出 一旦进入客户端,以后单击链接组件将导致react router在客户端上呈现(无需执行到服务器的完整往返) 到目前为止,我得到的是: 使服务器渲染类似于 在客户端渲染时,使链接组件正常工作 我的问题是: 一旦我在服务器上渲染,输出就不是交互式的。我的意思是,没有事件处理程序与DOM相关联。这是可以理解的。不过,我要寻找的是一种混合服务器和客户端渲染的方法。
react路由器
,使用express.js
。我的最终目标是:
- 当URL到达服务器时,它将使用服务器端呈现来呈现输出
- 一旦进入客户端,以后单击
组件将导致链接
在客户端上呈现(无需执行到服务器的完整往返)react router
- 使服务器渲染类似于
- 在客户端渲染时,使
组件正常工作链接
- 一旦我在服务器上渲染,输出就不是交互式的。我的意思是,没有事件处理程序与DOM相关联。这是可以理解的。不过,我要寻找的是一种混合服务器和客户端渲染的方法。我的意思是,服务器呈现输出,但它在客户机中以某种方式进行交互。如果我得到这个,我将能够在客户端上使用
,这将满足我的需求链接
React.render(component,element)
,其中element
指向包含服务器呈现的React标记的DOM节点,并且component
使用与服务器上相同的道具实例化(假设道具/状态一直匹配),React将透明地将静态标记升级为交互式React应用程序
请参见演示此技术的部分:(请注意,标记升级到交互式应用程序之前会有1秒的延迟,但仅用于演示目的)。我还没有尝试过,但我认为这是答案,因为JSFIDLE非常严格,而且它可以正常工作。谢谢。