我想在单击按钮时在服务器端渲染 ReactJS 中的模式。您可以在 Product Hunt 的网站上查看示例:
如果您单击其中一种流行产品,它会打开一个模式,然后该页面将在服务器端呈现为正常请求。
我不太擅长 React,但是有人可以给我指出正确的方向或显示代码示例吗?
我想我可以在有人单击激活模式的链接时预取页面,然后在模式中显示获取的内容:https://github.com/zeit/next.js/tree/master/examples/with-prefetching
最佳答案
我认为 Producthunt 上的产品模式不是服务器渲染的。当您单击产品时,它会打开模式,然后加载数据客户端。除了此操作之外,还使用历史记录更新 URL。现在,如果您刷新页面,它将呈现不同的 View 。您可以通过以类似的方式使用两个不同的 View 来使用 next
来实现这一点。例如,您可以在 pages
目录中创建两个页面,例如:
pages
|- homepage.js
|- product.js
然后在您的服务器配置中,您可以路由从 /product
开始的所有请求以呈现 product.js
。模态逻辑可以保留在 homepage.js
中,您可以在单击产品时在其中呈现适当的模态。您还可以在打开模式时将 URL 推送到历史记录。
现在,如果刷新页面或使用相同的 URL 打开新的浏览器选项卡/窗口,它会要求服务器呈现 product.js
。
关于javascript - 单击 NextJS 按钮后,服务器端在 React 中呈现模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53183474/