【发布时间】:2021-01-18 21:46:48
【问题描述】:
我在 react 项目中有我的 index.html 页面,如下所示:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>Bucard | Digital Business Card</title>
<meta name="title" content="Bucard | Digital Business Card">
<meta name="description" content="Bucard - Description for bucard" />
<meta property="og:title" content="Bucard | Digital Business Card" />
<meta property="og:image" content="http://m.digital-card.co.il/zedka/152/images/icon.png" />
<meta property="og:description" content="Bucard - Description for bucard" />
<meta property="og:url" content="https://bucard.co.il/" />
</head>
<body>
<div id="root"></div>
</body>
</html>
还有我的 react-helmet 部分,该部分存在于组件中,并且在 url 上有一条路径:
<Helmet>
<title>{"Digital card of " + this.state.card.Name}</title>
<meta name="title" content={"Digital card of " + this.state.card.Name} />
<meta name="description" content="Description for the react-helmet section" />
<meta property="og:title" content={"Digital card of " + this.state.card.Name} />
<meta property="og:image" content="http://m.digital-card.co.il/friedman/249/images/icon.png" />
<meta property="og:description" content="Description for the react-helmet section" />
<meta property="og:url" content={"https://bucard.co.il/digitalCard/" + this.state.card.ShortID} />
</Helmet>
现在,这里的问题是 这里唯一替换的标签是
我没有服务器端渲染,我有服务器端 (node.js) 和返回某些值的 json 的函数,我在我的 react 应用程序中渲染。
我搜索了将近 2 周,但还没有解决这个问题,这对我的项目非常重要。
还尝试将data-react-helmet=true 置于不同的情况下,但仍然无法正常工作。
谁能帮我解决这个问题?非常感谢:)
【问题讨论】:
-
您无法使用
react-helmet添加打开的图元数据,请在此处阅读更多信息:github.com/nfl/react-helmet/issues/489 -
@rand0m 那么 标签呢?为什么不更新?
-
它应该可以工作,我看不出有任何不应该的理由。这是一个快速模型:stackblitz.com/edit/react-helmet-test 检查开发工具中的标记,而不是页面源代码
-
@rand0m 嗨,目前它可以工作并且元标记确实更新了,但是当我在 Whatsapp 等社交媒体上分享时,图像仍然无法正常工作。在这里查看示例:bucard.co.il/digitalCard/אטליז_שינו_ובניו_-_מרכז_הבשר_החלק-VRN
-
恭喜!您可以使用developers.facebook.com/tools/debug 或debug.iframely.com 或opengraph.xyz 来检查您的代码的有效性。似乎 ogimage 是从 favicon 中提取的。我认为您在那里进行了必要的调整以满足您的需求。
标签: html reactjs meta-tags react-helmet