1

如何减轻在服务器端渲染上引用客户端技术引起的错误,例如documentdocument.cookielocalStorage

例如,我使用 React.js 和服务器端渲染。我在服务器上渲染客户端 gui 组件,也分别将相同的组件发送到客户端。服务器端和客户端组件渲染输出和提供给它的道具(React props)应该相同,以免失去服务器端渲染的好处。在客户端,React.js 查看并决定在这两个条件下渲染哪一个;渲染输出和提供给 React 组件的道具。在这些组件上,我可能在客户端版本上有客户端技术参考,但是当我在服务器端版本上参考它们时会出错。

由于这两个版本的 gui 组件的 javascript 代码可能不同,我知道我可以让它们不同,例如服务器端版本不参考document.cookie。但是为了开发的简单性,并避免由此导致的错误,恕我直言,这不是很简单。在这种情况下,浏览器还将运行组件的客户端版本以达到document.cookieor localStorage,如果不是,则此缓解根本不起作用。

4

0 回答 0