【发布时间】:2018-11-30 18:58:03
【问题描述】:
我们在 React .net 核心中使用客户端渲染中的 react 构建了一个项目(Web 应用程序)。
我们使用 react-helmet 来动态分配元标记。
问题在于应用在浏览器中呈现的时间。浏览器在初始加载时仅获取静态 HTML,其中不包括我们设置的动态元标记。但是,在检查时,您会在“元素”下获得这些元标记。
此外,如果我们使用这些 URL 在任何社交媒体(如 WhatsApp 或 Facebook)上共享,则该 URL 不会呈现任何应有的元数据。
尝试寻找我们问题的解决方案,我们遇到的最明显的答案是尝试服务器端渲染。我们明白这一点,但当我们准备好推出应用程序时,这不是一个尝试的解决方案。
我们遇到的其他人是“react-snap”,“react-snapshot”,但没有运气 使用 react-snap,它需要将 React 的版本升级到 16+,我们这样做了,但我猜不是所有的依赖项都升级了,有一个错误说“
水合物不是函数
(水合物与反应域有关)
使用 react-snapshot,我们找不到必要的类型定义,这是 react .net 核心正常运行所必需的
请指导下一步可能的步骤(除了预渲染等付费步骤)?
主要目标:当我们在其中粘贴/共享 URL 时,社交应用程序应该呈现元数据。
【问题讨论】:
-
同样的问题..你为此做了什么
-
你说你更新了 react,但是你更新了 react-dom 依赖吗?我在我的 SPA 上使用了 react-snap,它对我很有用。我写了一篇关于这里的博文:romiem.com/blog/opengraph-single-page-app
标签: reactjs typescript visual-studio-2017 meta-tags social-media