我目前正在为我的应用程序使用create-react-app。这在public / index.html文件中使用硬编码的元标记,如下所示:
<title>XXXX</title>
<meta name="description" content="XXXXX" />
<meta property="og:title" content="XXXXXXX">
<meta property="og:url" content="https://xxx">
问题是,meta标签是针对所有页面的硬编码的...如何动态覆盖应用程序中不同网址上的这些元标记。例如,对于像这样的用户个人资料页面:
myapp.com/profiles/usernameX
如何让该网址返回特定的元标记?
答案 0 :(得分:0)
您正在寻找的库是react-helmet
,是React的文档主管。 react-helmet
可以管理文档头的任何更改。例如,您可以在meta
中添加index.html
标记,但只要React组件在其meta
组件中使用不同的<Helmet>
标记进行渲染(react-helmet
管理head)meta
中的index.html
标记将被覆盖。这种重写也发生在不同的React组件之间,子组件优先。
The Stuyvesant Spectator的网站react-helmet
的一个很好的例子是https://stuyspec.com(注意<title>
如何根据您所在的页面/文章而变化上)。
如果您想要服务器端操作,可以使用Gatsby。 Gatsby是React的静态站点生成器,它有一个与它一起使用的react-helmet包(gatsby-plugin-react-helmet
)。