我在react中开发了一个项目。我在index.html中给出了默认的title标签和 meta标签。我正在尝试使用react-helmet通过props更新每个页面的title和 meta标签。标题标签得到更新,但只有几秒钟。每当我在5-10秒后更改浏览器选项卡时,标题都会恢复为默认值。至于其他 meta标记,这些标记根本不会覆盖。
index.html
<head>
<title>Content...</title>
<meta name="description" content="description/>
</head>
我的组件
<Helmet>
<title>{this.state.meta_title}</title>
<meta name="description" content={this.state.meta_description}/>
</Helmet>
我尝试使用***data-react-helmet=“true”***。
<meta name="description" content={this.state.meta_description} data-react-helmet="true"/>
但没有用我试图解决这个问题,从过去两天,但没有运气。如果有人能帮我,请帮帮我。
更新
我有办法了。我正在调用页面内的** Helm 。当我调用App.js文件中的Helmet**组件时,它开始工作。标题问题已修复,但 meta标记未更新。新的 meta标签可以添加到头部的底部。
1条答案
按热度按时间xmjla07d1#
data-react-helmet=“true”现在替换为data-rh=“true”
就像@TomFinney说的:只需在
index.html
中的标签上添加data-react-helmet="true"
即可。由于react-helmet在更新这些元素时通过属性标识它们。index.html
:App.jsx
:Works:2016| https://codesandbox.io/s/tender-gould-e8bnj8?file=/src/App.js
你可以通过在浏览器中禁用javascript来测试它。